开发者

Loop through all elements with class 'blah' and find the highest id value

I have a bunch of elements like:

<div id="car-123" class="blah">..</div>
开发者_如何学C

I want to loop through all of them and get the highest ID i.e. 123

how to do this?

Is below correct and the best way?

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

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

   if( id > newid)
      newid = id;

});


I would do:

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

Most people would do this way.


I'd go for this, using .map, .get and .sort:

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


You want to use parseInt so numerical operators apply

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


I think you need the second value the splitted ID, and you might want to convert the string to an integer, like this:

var newid = 0;

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

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

  if( id > newid)
    newid = id;

});
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜