Подтвердить что ты не робот

Как узнать последний индекс каждого() в jQuery?

У меня есть что-то вроде этого...

$( 'ul li' ).each( function( index ) {

  $( this ).append( ',' );

} );

Мне нужно знать, какой индекс будет для последнего элемента, поэтому я могу это сделать...

if ( index !== lastIndex ) {

  $( this ).append( ',' );

} else {

  $( this ).append( ';' );

}

Любые идеи, ребята?

4b9b3361

Ответ 1

var total = $('ul li').length;
$('ul li').each(function(index) {
    if (index === total - 1) {
        // this is the last one
    }
});

Ответ 2

var arr = $('.someClass');
arr.each(function(index, item) {
var is_last_item = (index == (arr.length - 1));
});

Ответ 3

Не забудьте кэшировать селектор $("ul li"), потому что он не дешев.

Кэширование самой длины - это микро-оптимизация, хотя это необязательно.

var lis = $("ul li"),
    len = lis.length;

lis.each(function(i) {
    if (i === len - 1) {
        $(this).append(";");
    } else {
        $(this).append(",");
    }
});

Ответ 4

    var length = $( 'ul li' ).length
    $( 'ul li' ).each( function( index ) {
        if(index !== (length -1 ))
          $( this ).append( ',' );
        else
          $( this ).append( ';' );

    } );