Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用类'循环遍历所有元素;废话';并找到最高的id值_Jquery - Fatal编程技术网

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的评论之外,你还需要包装
$(这个)as
parseInt($(这个)…,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;
    }
});