无法使用jQuery设置颜色

时间:2014-10-31 07:10:17

标签: jquery html css

我已经开始学习jQuery了,我trying设置了color的{​​{1}}但无法这样做。但是,我能够成功更新其他css属性,例如tr。从我到目前为止学到的东西来设置我们使用的CSS属性和值:

font-style

所以,请指出错误。

HTML:

$(selector).css(property,value)

CSS:

<table class="csr">
<tr><td>Row 1</td></tr>
<tr><td>Row 2</td></tr>
<tr><td>Row 3</td></tr>
</table>

<table class="aTable">
<tr><td>Row 11</td></tr>
<tr><td>Row 22</td></tr>
<tr><td>Row 33</td></tr>
</table>

jQuery的:

td {
    color: blue;
    font-weight: bold;
  }

table.aTable td{
    color: red;
    font-weight: bold;
  }

3 个答案:

答案 0 :(得分:3)

您正在将TRss属性应用于TR,后者被TD覆盖,这是一个子元素,因此显示在TR的顶部。

你也可以像这样组合你的css:

$('tr:first td').css({
           'font-style':'italic',
           'color':'red',
           'background-color':'yellow'}
);

$('.aTable tr:first td').css({
           'font-style':'italic',
           'background-color':'yellow'}
);

从技术上讲,第一个选择器也会抓住第二个表的第一行。

答案 1 :(得分:2)

这是因为CSS优先级,颜色适用于tr,这意味着td { color:blue }更重,因此适用。将样式应用于td内的tr是一种可能的解决方案:

$( "tr:first td" ).css( "color", "red" );

请参阅jsfiddle

答案 2 :(得分:0)

您需要设置如下:

$( "tr:first>td" ).css( "color", "red" );

DEMO