jquery选择表列

时间:2011-04-12 17:57:16

标签: jquery jquery-selectors

我正在努力选择特定表格的单元格。

有些单元格有一个“testOff”类,如果该类存在,我试图将表行更改为其他颜色。

这是我到目前为止所拥有的:

$("table#customersTable td.testOff").each(function(){

    $(this).closest("tr").css("background-color","#F6CCDA");

});

我必须遗漏一些东西,因为它没有显示任何细胞的背景颜色。 有没有人看到我选择的错误?

4 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

$('td.testOff').closest('tr').addClass('highlightColour');

CSS:

.highlight,
.highlight td /* this part's important, and ensures that the 'highlight' colour is seen in the td elements */
{ 
    background-color: #ffa;
}

JS Fiddle demo

顺便说一下:你不需要each(),因为选择器将返回,并且已经使用了一系列元素。

参考文献:

答案 1 :(得分:1)

您可以使用:has选择器:

$('#customersTable tr:has(td.testOff)').css('background-color', '#f6ccda');

答案 2 :(得分:0)

$('#customersTable td.testOff').closest('tr').addClass('highlightColour').css("background-color","#F6CCDA");

working demo

答案 3 :(得分:0)

$("td.testOff").parent().children().css("background-color","#F6CCDA");

根据我之前的问题,以防它是td单元格本身,您需要定位以覆盖以前的设置

正如我在评论中提到的那样,

siblings()只会选择.testOff两侧的单元格 - 这会找到它的所有子级tr