如何向最后两个tr添加类,并将样式应用于这些tr中的td



我正在尝试1)在页面上每个表的最后两个tr中添加一个类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

要向每个表的最后两行添加一个类,可以使用:

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

要向每个表的最后两行和每一行的特定列添加一个类,您可以使用:

$('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();
});

最后这一点看起来有点乱。我认为有更好的方法,但这是可行的。

尝试切片吗?

$(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');
});

最新更新