添加表头行会禁用 jQuery 选择器

Posted

技术标签:

【中文标题】添加表头行会禁用 jQuery 选择器【英文标题】:Adding table header row disables jQuery selector 【发布时间】:2013-01-25 13:57:39 【问题描述】:

使用 jQuery,当我比较同一行中不同的 2 个单元格时,我可以突出显示一个单元格。

$(".g-rebuild-thumb-list tr").each(function () 
    if ($(this).find("td")[2].innerhtml != $(this).find("td")[3].innerHTML) 
        $(this).find("td")[0].bgColor = "red";
    
);

这是一个按预期工作的 JS fiddle: http://jsfiddle.net/HY2Q3/

但是,如果我在表格中添加标题,它就不起作用了。

<tr>
<th>head</th>
<th>head2</th>
<th>head3</th>
<th>head4</th>

添加了标题行的相同代码的完整 JS 小提琴: http://jsfiddle.net/kah2J/

有人可以提出解决方案或解释吗?

【问题讨论】:

【参考方案1】:

因为您仍然基于tr 的选择器,您还为标题添加了该选择器。我更新了 jsfiddle,并添加了 tbodythead,但您不必使用它们。您可以简单地将一个类添加到您希望应用选择器的tr,然后将您的jQuery 中的td 换成类名。这是小提琴:http://jsfiddle.net/HY2Q3/2/

【讨论】:

阿尔伯特,感谢您的提琴和解释,就像一个魅力。

以上是关于添加表头行会禁用 jQuery 选择器的主要内容,如果未能解决你的问题,请参考以下文章

禁用 jQuery UI 日期选择器的焦点设置

jQuery:启用/禁用日期选择器

如何在 jQuery UI 日期选择器中禁用公共假期?

所有未禁用的选中复选框的 jquery 选择器

jquery jqprint 打印 每页控制打印内容,每一页都带有表头,怎么搞啊

时间选择器禁用当前时间之前的时间