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

Прокрутите все элементы с помощью класса "blah" и найдите максимальное значение id

У меня есть куча таких элементов, как:

<div id="car-123" class="blah">..</div>

Я хочу перебрать все из них и получить самый высокий идентификатор, т.е. 123

как это сделать?

Правильно ли и лучший способ?

$(".blah").each(function() {

   var id = $(this).attr('id').split('-')[0];

   if( id > newid)
      newid = id;

});
4b9b3361

Ответ 1

Я бы сделал:

var max = 0;
$(".blah").each(function(){
    num = parseInt(this.id.split("-")[1],10);
    if(num > max)
    {
       max = num;
    }
});

Большинство людей будут делать это.

Ответ 2

Я бы пошел на это, используя .map, .get и .sort:

$('.blah').map(function(){
    return parseInt(this.id.split('-')[1], 10);
}).get().sort(function(a, b) {
    return b - a;
})[0];

Ответ 3

Вы хотите использовать parseInt, чтобы числовые операторы применяли

var id = parseInt($(this).attr('id').split('-')[1]);

Ответ 4

Я думаю, вам нужно второе значение разделенного идентификатора, и вам может понадобиться преобразовать строку в целое число, например:

var newid = 0;

$(".blah").each(function() {

  var id = parseInt( this.id.split('-')[1], 10 );

  if( id > newid)
    newid = id;

});