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を反復処理するのに2番目は必要ありません。td次に、これで変更したいを参照できます

于 2012-12-03T18:13:46.057 に答える
0

テストif (($.trim(c) == "false") ...では、すべてを選択しますtd。すでにセルをループしているので、現在のセルにクラスを適用する必要があります。

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