使用Javascript / Jquery循环表行

时间:2011-12-28 15:31:30

标签: javascript jquery html-table

所以我要做的是获取HTML表的最后一行。如果此行有某个类,我将忽略该行并选择前一行。然后,这将从表的末尾开始循环,直到找到没有这个特定类的行。

我认为它可能涉及for循环,检查行类,然后检查JQuery的row.prev方法,但仍不太确定如何处理它。

提前致谢!

3 个答案:

答案 0 :(得分:3)

要获取没有某个类的最后一个表行,例如targetClass,您可以这样做:

$("tr:not(.targetClass):last");

我不确定你要对这个表行做什么,但是如果要将targetClass添加到没有它的最后一行,它看起来就像这样

$("tr:not(.targetClass):last").addClass("targetClass");

查看此fiddle以查看其实际效果

答案 1 :(得分:2)

此示例显示如何获取当前页面上每个表的最后一个:http://jsfiddle.net/JBnzK/

$('table').find('tr:last').each(function(){
    if ($(this).hasClass('stupid')) {
        $(this).css('color', 'red');
    } else {
        $(this).css('color', 'green');
    }
});

答案 2 :(得分:1)

假设您有以下HTML:

<table id="mytable">
    <tbody>
        <tr>
            <td>1</td>
        </tr>
        <tr id="YouFoundMe">
            <td>1</td>
        </tr>
        <tr class="certainclass">
            <td>1</td>
        </tr>
        <tr class="certainclass">
            <td>1</td>
        </tr>
        <tr class="certainclass">
            <td>1</td>
        </tr>

    </tbody>
</table>

你可以这样做:

var elWithoutClass = $('#mytable tr:not(.certainclass):last');

if (elWithoutClass.length) {
    alert(elWithoutClass.get(0).id);
    // alerts "YouFoundMe"
}
  • :not(.certainclass)会消除<tr>没有上课的特定类别&#39;
  • :last会为您提供最后一个

我邀请您查看jquery的Selectors documentation page以了解有关它们的更多信息。