0

我需要一些帮助

我正在尝试这样做

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

}

但它不适用于表格单元

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

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

没有!

它确实适用于桌子本身或类似的桌子

$('#stocktable tr')

我在这里错过了什么吗?

谢谢,理查德

4

1 回答 1

3

脑海中浮现三件事:

  1. 您正在使用:last伪元素。这将最多匹配一个元素总数,在本例中是“stocktable”中的最后一个表格单元格。你也许是说:last-child相反?
  2. 您正在使用:eq(2)which 将仅匹配整个集合中的第三个元素。你也许是说:nth-child(2)
  3. $("#stocktable tr td.eq(2)).addClass...缺少和结束报价;和
  4. 你在做什么没有错。究竟是什么不起作用?也许它不是可以应用于表格单元格的格式。

为了进一步解释 (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");

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

于 2010-01-01T13:23:42.130 回答