0

私は 1) ページのすべてのテーブルの最後の 2 つの TR にクラスを追加しようとしています 2) また、これら 2 つの TR の 1、2、5、8 番目の TD のスタイルを設定します。

以下のコードは機能していないようです。

  var rowCount = $('table tr').length;
$('table tr').eq(rowCount - 1).addClass('myClass');
$('table tr').eq(rowCount - 2).addClass('myClass');

ありがとう

BB

4

2 に答える 2

3

各テーブルの最後の 2 行にクラスを追加するには、次を使用できます。

$('table').each(function () {
    $(this).find('tr').last().addClass('red').prev().addClass('red');
});

そして、各テーブルの最後の 2 行と、それらの各行の特定の列にクラスを追加するには、次のようにします。

$('table').each(function () {
    $(this).find('tr').last().addClass('myClass')
    .find(':nth-child(1)').addClass('myClass').parent()
    .find(':nth-child(2)').addClass('myClass').parent()
    .find(':nth-child(5)').addClass('myClass').parent()
    .find(':nth-child(8)').addClass('myClass').parent()
    .prev().addClass('myClass')
    .find(':nth-child(1)').addClass('myClass').parent()
    .find(':nth-child(2)').addClass('myClass').parent()
    .find(':nth-child(5)').addClass('myClass').parent()
    .find(':nth-child(8)').addClass('myClass').parent();
});

この最後のビットはちょっと厄介なようです。もっと良い方法があると思いますが、これでうまくいきます。

于 2013-03-14T21:16:32.867 に答える
2

スライスしてみませんか?

$(function() {
    $('table tr').slice(-2).addClass('last_two');

    $('table tr').eq(0).addClass('first')
           .end().eq(1).addClass('second')
           .end().eq(4).addClass('fifth')
           .end().eq(7).addClass('eight');
});
于 2013-03-14T21:10:52.100 に答える