我想根据表格中的td单元格值将类应用于tr。
我的HTML
<table class="k-focusable">
<tr>
<th>Name</th>
<th>Favorite color</th>
<th> status</th>
</tr>
<td>James</td>
<td>red</td>
<td>false</td>
</tr>
<tr>
<td>John</td>
<td>blue</td>
<td>true</td>
</tr>
</table>
var cellIndexMapping = { 2: true };
$("table.k-focusable tbody tr").each(function (rowIndex) {
$(this).find("td").each(function (cellIndex) {
if (x[cellIndex]) {
var c = $(this).text();
if (($.trim(c) == "false") || ($.trim(c) == "null")) {
$("table.k-focusable tbody tr").find("td").addClass("hover");
}
}
});
});
.hover
{
font-weight:bold
}
当我这样做时,每一行都有这个类悬停。但我希望只有在td值为false或null时才添加该类。
答案 0 :(得分:5)
试试这个
$("table.k-focusable tbody tr td:contains('false')")
答案 1 :(得分:2)
试试这个
$("table.k-focusable tbody tr").each(function(rowIndex) {
var $td = $(this).find("td:eq(2)");
var c = $td.text();
if (($.trim(c) == "false") || ($.trim(c) == "null")) {
$td.closest('tr').addClass("hover");
}
});
<强> Check Fiddle 强>
首先,您不需要第二个$.each
迭代td。
然后,您可以使用此
td
答案 2 :(得分:0)
在您的测试if (($.trim(c) == "false") ...
中,您选择所有td
。您只需要将类应用于当前单元格,因为您已经在单元格中循环:
$(this).addClass("hover");