为此,您可以创建一个包含所有id
值的数组,然后用于Math
获取最高/最低值:
var ids = $('.maindiv[id]').map((i, el) => parseInt(el.id, 10)).get();
var lowest = Math.min.apply(Math, ids); // = 1
var highest = Math.max.apply(Math, ids); // = 5
console.log(`${lowest} => ${highest}`);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="2" class="maindiv">test</div>
<div id="5" class="maindiv">test</div>
<div id="3" class="maindiv">test</div>
<div id="1" class="maindiv">test</div>
<div class="maindiv">test</div>
<div id="4" class="maindiv">test</div>
请注意,[id]
属性选择器是必需的,否则0
假定为缺失值。
如果需要 IE 支持,则需要使用匿名函数而不是箭头函数:
var ids = $(".maindiv[id]").map(function() {
return parseInt(this.id, 10);
}).get();