循环遍历所有带有’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; });