如何检查你是否在循环结束?

时间:2013-10-15 04:42:55

标签: jquery

经过一些研究后,我似乎找不到任何信息来检查你是否在循环结束时。我特别想知道你是否可以使用jQuery中的.each()检查这个。我想要实现的是

$("tr#row"+formIdentifier).find('td').each(function (){
    if (last_item_in_loop){
        alert("this is the last item in the loop");
    }
});

到目前为止,它通过正常循环,我只是希望能够提醒用户他们在最后一个项目。任何帮助将不胜感激。提前谢谢!

4 个答案:

答案 0 :(得分:2)

我不这么认为,你必须自己迭代这些项目并检查最后一个索引。如果您想在处理完最后一个元素后执行此操作,您可以在循环下方添加代码...

var elements = $("tr#row"+formIdentifier).find('td');
for (var i = 0; i < elements.length; i++) {
    if (i == elements.length - 1) {
        alert("this is the last item in the loop");
    }
    // normal stuff
}

答案 1 :(得分:1)

使用$("tr#row"+formIdentifier).find('td').length来计算

$("tr#row"+formIdentifier).find('td').each(function (index,value){

    if(index ==  $("tr#row"+formIdentifier).find('td').length)
     .....................
});

答案 2 :(得分:1)

你可以使用像这样的简单条件

var $tds = $("tr#row"+formIdentifier).find('td');
var $last = $tds.last();
$tds.each(function (){
    if ($last.is(this)){
        alert("this is the last item in the loop");
    }
});

或使用索引条件

var $tds = $("tr#row"+formIdentifier).find('td').each(function (idx){
    if (idx == $tds.length - 1){
        alert("this is the last item in the loop");
    }
});

答案 3 :(得分:0)

你可以这样做:

var elements = $('td', 'tr#row' + formIdentifier),
    total    = elements.length;

for (var i = 0; i<total; i++) {
    if (i === (total-1)) {
        alert("this is the last item in the loop");
    }
}