我正在努力选择特定表格的单元格。
有些单元格有一个“testOff”类,如果该类存在,我试图将表行更改为其他颜色。
这是我到目前为止所拥有的:
$("table#customersTable td.testOff").each(function(){
$(this).closest("tr").css("background-color","#F6CCDA");
});
我必须遗漏一些东西,因为它没有显示任何细胞的背景颜色。 有没有人看到我选择的错误?
答案 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;
}
顺便说一下:你不需要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");
答案 3 :(得分:0)
$("td.testOff").parent().children().css("background-color","#F6CCDA");
根据我之前的问题,以防它是td
单元格本身,您需要定位以覆盖以前的设置
siblings()
只会选择.testOff
两侧的单元格 - 这会找到它的所有子级tr