循环遍历所有带有’blah’类的元素并找到最高的id值

我有一堆元素,如:

..

我想循环遍历所有这些并获得最高ID,即123

这该怎么做?

以下是正确的,最好的方法吗?

 $(".blah").each(function() { var id = $(this).attr('id').split('-')[0]; if( id > newid) newid = id; }); 

我会做:

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

大多数人会这样做。

我会使用.map.get.sort来实现这个目的:

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

您想使用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; });