jquery addClass不能在tablecell上工作

时间:2010-01-01 13:20:09

标签: jquery addclass tablecell

我需要一些帮助

我正在尝试这样做

if(perc>0){
alert('change backgroundcolor and textcolor');
$('#stocktable tr td:last').addClass('stockhigher');

}

但它不适用于tablecell

我也尝试像这样设置选择器

$('#stocktable tr td:eq(2)).addClass...
$('#stocktable tr td.percentage').addClass...

什么!

它可以在桌子本身或像

这样的桌子上工作
$('#stocktable tr')
我在这里错过了什么吗?

谢谢,理查德

1 个答案:

答案 0 :(得分:3)

我想到了三件事:

  1. 您正在使用:last伪元素。这将匹配最多一个元素总数,在这种情况下是“stocktable”中的最后一个表格单元格。您可能代之以:last-child吗?
  2. 您正在使用:eq(2),它仅匹配整个集合中的第三个​​元素。你或许是:nth-child(2)
  3. $("#stocktable tr td.eq(2)).addClass...缺失并结束引用;和
  4. 你在做什么没有错。究竟什么不起作用?也许它不是可以应用于表格单元格的格式。
  5. 进一步解释(1)假设你有一个包含3行4个单元格的表,其id为“mytable”。这段代码:

    $("#mytable td:eq(2)").css("background", "yellow");
    

    将为第一行的第三个​​元素着色(:eq()从零开始),而:

    $("#mytable td:nth-child(2)").css("background", "yellow");
    

    将为每个行中的第二个单元着色。

    $("#mytable td:last").css("background", "yellow");
    

    将为最后一行中的最后一个单元格着色,但是:

    $("#mytable td:last-child").css("background", "yellow");
    

    将为每个行中的最后一个单元格着色。