Как переопределить свойство css?
Я попытался использовать jquery, но не смог переопределить свойство width .gridHeader
класса.
Я хотел бы исправить (скажем, 100px) ширину первого столбца в таблице.
<html>
<head>
<style>
html, body {
font-family:Tahoma;
font-size:11px;
}
.grid {
border-left:1px solid #CCCCCC;
border-top:1px solid #CCCCCC;
}
.gridHeader {
background-color:#EFEFEF;
border-bottom:1px solid #CCCCCC;
font-weight:bold;
height:20px;
padding-left:3px;
text-align:left;
width:100%; /* problematic, that I cannot change*/
}
table.grid > tbody > tr > td {
border-bottom:1px solid #CCCCCC;
border-right:1px solid #CCCCCC;
padding:3px;
}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".gridHeader").css("width","");
});
</script>
</head>
<body>
<table width="100%">
<tr>
<td class="gridHeader" style="width:100px">Vikas
</td>
<td class="gridHeader">Vikas Patel Vikas Patel Vikas Patel
</td>
<td class="gridHeader">Vikas Patel Vikas Patel
</td>
</tr>
<tr>
<td>Vikas
</td>
<td>Vikas Patel Vikas Patel Vikas Patel
</td>
<td>Vikas Patel Vikas Patel
</td>
</tr>
</table>
</body>
</html>
4 ответов
вам нужно удалить встроенный стиль с помощью removeAttr
а затем используйте css()
способ такой:
$(".gridHeader").removeAttr('style').css("width","100px");
если вы хотите применить ширину первого столбца, вы можете использовать :first
селектор фильтра такой:
$(".gridHeader:first").removeAttr('style').css("width","100px");
Я думаю, ваша проблема не в первом столбце, а в других, пока они все еще применяются на 100%.
$(".gridHeader").css("width","");
...не будет работать, потому что вы не установили юридическую ценность.
попробуйте это:
$(".gridHeader").not(':first-child').css("width","auto");
отлично работает для меня? Если только я не понимаю твою "проблему".
проверка:http://www.jsfiddle.net/YjC6y/21/
Если вы хотите переопределить CSS inline, вам может повезти сделать это так:
style="width:100px !important;"