Jquery 使用类'循环遍历所有元素;废话';并找到最高的id值
我有很多元素,比如:Jquery 使用类'循环遍历所有元素;废话';并找到最高的id值,jquery,Jquery,我有很多元素,比如: <div id="car-123" class="blah">..</div> 您希望使用parseInt以便应用数字运算符 var id = parseInt($(this).attr('id').split('-')[1]); 我认为您需要第二个值,即拆分的ID,您可能希望将字符串转换为整数,如下所示: var newid = 0; $(".blah").each(function() { var id = parseInt( thi
<div id="car-123" class="blah">..</div>
您希望使用
parseInt
以便应用数字运算符
var id = parseInt($(this).attr('id').split('-')[1]);
我认为您需要第二个值,即拆分的ID,您可能希望将字符串转换为整数,如下所示:
var newid = 0;
$(".blah").each(function() {
var id = parseInt( this.id.split('-')[1], 10 );
if( id > newid)
newid = id;
});
我会使用
.map
、.get
和进行排序:
$('.blah').map(function(){
return parseInt(this.id.split('-')[1], 10);
}).get().sort(function(a, b) {
return b - a;
})[0];
我会:
var max = 0;
$(".blah").each(function(){
num = parseInt(this.id.split("-")[1],10);
if(num > max)
{
max = num;
}
});
大多数人都会这样做。他们是由服务器在页面中按顺序写入的吗?在这种情况下,只要抓住最后一个就行了。我想你的意思是$(这个)…[1]
而不是[0]
除了Gabi的评论之外,你还需要包装$(这个)代码>asparseInt($(这个)…,10)代码>进行数字比较而不是字符串比较(因为“12”>“100”)。否则,这看起来非常简单。这几乎和我的一样,但不要忘记parseInt
中的基数参数:parseInt(str,10)代码>啊,我没听清你的答案。这很有趣…我喜欢的一件事是它没有在范围中引入局部变量。我唯一不喜欢的是你使用parseInt
,get
,map
,排序
,你可以只使用每个,parseInt
,而不是[1]
您可以执行num=parseInt(this.id.split('-').pop(),10)代码>。声明var num也是一个好主意代码>与var max=0同时
var max = 0;
$(".blah").each(function(){
num = parseInt(this.id.split("-")[1],10);
if(num > max)
{
max = num;
}
});