1

我想根据表格中的 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 时才添加该类。

4

3 回答 3

5

尝试这个

$("table.k-focusable tbody tr td:contains('false')")
于 2012-12-03T18:09:32.653 回答
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");
    }
});​

检查小提琴

首先,您不需要第二个$.each来迭代 td。然后,您可以参考td要更改的内容

于 2012-12-03T18:13:46.057 回答
0

在你的测试if (($.trim(c) == "false") ...中,你选择所有td。您只需将类应用于当前单元格,因为您已经在单元格上循环:

$(this).addClass("hover");
于 2012-12-03T18:13:44.717 回答