0

经过一番研究,我似乎找不到任何信息来检查你是否处于循环的末尾。我特别想知道您是否可以使用 jQuery 中的 .each() 进行检查。我想要实现的是

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

到目前为止,它循环通过了,我只想能够提醒用户他们在最后一项。任何帮助将不胜感激。先感谢您!

4

4 回答 4

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
}
于 2013-10-15T04:45:32.760 回答
1

用于$("tr#row"+formIdentifier).find('td').length获取计数

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

    if(index ==  $("tr#row"+formIdentifier).find('td').length)
     .....................
});
于 2013-10-15T04:44:30.333 回答
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");
    }
});
于 2013-10-15T04:45:50.203 回答
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");
    }
}
于 2013-10-15T04:46:30.080 回答