我有这样的事情......
$( 'ul li' ).each( function( index ) {
$( this ).append( ',' );
} );
我需要知道最后一个元素的索引是什么,所以我可以这样做......
if ( index !== lastIndex ) {
$( this ).append( ',' );
} else {
$( this ).append( ';' );
}
任何想法,伙计们?
答案 0 :(得分:79)
var total = $('ul li').length;
$('ul li').each(function(index) {
if (index === total - 1) {
// this is the last one
}
});
答案 1 :(得分:14)
var arr = $('.someClass');
arr.each(function(index, item) {
var is_last_item = (index == (arr.length - 1));
});
答案 2 :(得分:9)
请记住缓存选择器$("ul li")
,因为它并不便宜。
缓存长度本身就是微观优化,但这是可选的。
var lis = $("ul li"),
len = lis.length;
lis.each(function(i) {
if (i === len - 1) {
$(this).append(";");
} else {
$(this).append(",");
}
});
答案 3 :(得分:6)
var length = $( 'ul li' ).length
$( 'ul li' ).each( function( index ) {
if(index !== (length -1 ))
$( this ).append( ',' );
else
$( this ).append( ';' );
} );
答案 4 :(得分:0)
这是一个非常古老的问题,但有更优雅的方法:
$('ul li').each(function() {
if ($(this).is(':last-child')) {
// Your code here
}
})
答案 5 :(得分:0)