如何将类添加到最后两个TR并将样式应用于这些TR内的TD

时间:2013-03-14 21:08:35

标签: jquery

我正在努力 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

2 个答案:

答案 0 :(得分:3)

要将类添加到每个表的最后两行,您可以使用:

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

这最后一点似乎有些混乱。我认为有一种更好的方法可以做到这一点,但这很有效。

答案 1 :(得分: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');
});