jquery .each错过了第一行

时间:2013-10-15 18:14:49

标签: jquery

我在页面中有以下内容,var行显示长度= 1但是它到达.each语句它没有输入它。我肯定错过了什么。当表中只有一行时,我只有这个问题。有什么想法吗?

$('.addnewrow').click(function() {
        var rows = $('#webgrid tr:gt(0)');
        rows.each(function (index) {
           // do something 
        });

       // now do something else based on the results of the .each
    });

2 个答案:

答案 0 :(得分:2)

:gt() 采用基于0的索引,此处您要求的所有内容都大于第一个元素。因此,当只有一行时,你在第一行之后没有任何其他的tr,所以语句$('#webgrid tr:gt(0)')返回空集合。

答案 1 :(得分:1)

#webgrid tr:gt(0)中,您选择的每个tr都有一个祖先#webgrid并且在索引位置大于0(gt(0)),在这种情况下,使用如果要遍历所有:gt()tr伪选择器是无用的。由于gt(0)表示“索引大于0的每个元素”并且您在位置0只有一个元素,因此您将完全忽略它。

希望这有帮助!