我需要检查使用jquery后的当前元素是否是列表中的最后一个元素 我试过了
$('#droplist div.panel').each(function(){
if($(this).last()){
alert($(this).attr('id')+' is the last order');
}else{
alert('Not the last order');
}
});
和
$('#droplist div.panel').each(function(){
if($(this).is(':last')){
alert($(this).attr('id')+' is the last order');
}else{
alert('Not the last order');
}
});
有一组动态元素正在被选中,因为它们被选中,我循环遍历它们并随着我的进行执行计算。我需要最后一个来终止我的计算功能。即需要标记我已到达当前列表中的最后一个元素。
谢谢大家。
答案 0 :(得分:4)
您可以获取查询的长度并比较每个循环的当前索引:
var list = $('#droplist div.panel')
var length = list.length;
list.each(function(index){
if(index == length-1){
alert($(this).attr('id')+' is the last order');
}else{
alert('Not the last order');
}
});
答案 1 :(得分:1)
if ($(this).is("#droplist div.panel:last")) {
...
}
或:
var panels = $('#droplist div.panel');
var lastpanel = panels.last();
panels.each(function(){
if($(this).is(lastpanel)){
alert($(this).attr('id')+' is the last order');
}else{
alert('Not the last order');
}
});
答案 2 :(得分:0)
比较索引和元素总数。
JSFiddle:http://jsfiddle.net/9gmdt1fd/
代码:
$( document ).ready(function() {
var objects = $("ul li")
$.each( objects, function( key, value ) {
if(key == objects.length-1){
alert(value+' is the last order');
}else{
alert('Not the last order');
}
});
});