使用jQuery根据其值更改表格单元格颜色

时间:2014-04-30 16:10:58

标签: jquery

 $(".yourtableclassname tr:not(:first)").each(function() { 


}

我使用上面的内容迭代表中除第一行之外的所有行,因为这些是列标题。然后根据某些列值,我设置该行的背景颜色。

如果我只有一张桌子,那么效果很好。但是如果我有两个具有相同类名的表,它会将第二个表的行视为第一个表的行。所以第二个表的行标题的背景颜色已经设置好了。

无论如何,我能解决这个问题吗?我可能在表单上有几个表,所以我不想使用id。

- 示例代码 -

$(".Grid tr:not(:first)").each(function() { 

        var nameofField = $(this).find("td:nth-child(4)").html();            

        if(nameofField != ""){

            $(this).closest('tr').addClass('Red').removeClass('Blue');
        }
}

2 个答案:

答案 0 :(得分:1)

更新颜色的代码看起来是正确的。我猜你没有错误地描述这个问题。第二个表的常规行可能正确更新,问题只在于标题行。

试试这个选择器:

$(".yourtableclassname tr:not(:first-child)")

这将跳过每个表的第一行。您的选择器刚刚跳过第一个表的第一行。

答案 1 :(得分:0)

您是否考虑过将<th></th>用于标题行?那应该解决它。

编辑:如果您无法使用<th></th>使用$(".yourClassName").finds("tr:not(:first)")。应该做的伎俩!