我有很多元素,如:
<div id="car-123" class="blah">..</div>
我想遍历所有这些并获得最高ID,即123
怎么做?
以下是正确的,最好的方法吗?
$(".blah").each(function() {
var id = $(this).attr('id').split('-')[0];
if( id > newid)
newid = id;
});
答案 0 :(得分:17)
我愿意:
var max = 0;
$(".blah").each(function(){
num = parseInt(this.id.split("-")[1],10);
if(num > max)
{
max = num;
}
});
大多数人会这样做。
答案 1 :(得分:10)
我会使用.map
,.get
和.sort
来实现此目的:
$('.blah').map(function(){
return parseInt(this.id.split('-')[1], 10);
}).get().sort(function(a, b) {
return b - a;
})[0];
答案 2 :(得分:1)
您想使用parseInt
,因此应用数值运算符
var id = parseInt($(this).attr('id').split('-')[1]);
答案 3 :(得分:0)
我认为您需要分割ID的第二个值,并且您可能希望将字符串转换为整数,如下所示:
var newid = 0;
$(".blah").each(function() {
var id = parseInt( this.id.split('-')[1], 10 );
if( id > newid)
newid = id;
});