在jQuery或Javascript中获取某个属性的最高值和最低值

Mic*_*uel 9 html javascript jquery loops

我有以下div:

<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>    
Run Code Online (Sandbox Code Playgroud)

如何在jQuery或Javascript中获得最高的id(5)和最低的id(1)?

Ror*_*san 21

首先,您需要创建一个包含所有id值的数组,然后使用它Math来获得最高/最低值:

var ids = $(".maindiv[id]").map(function() {
    return parseInt(this.id, 10);
}).get();

var highest = Math.max.apply(Math, ids);
var lowest = Math.min.apply(Math, ids);
Run Code Online (Sandbox Code Playgroud)

示例小提琴

请注意,[id]属性选择器是必需的,否则0假定为缺失值.

  • 这就是我所谓的_deep理解JavaScript和jQuery_. (2认同)

mae*_*ics 2

function minMaxId(selector) {
  var min=null, max=null;
  $(selector).each(function() {
    var id = parseInt(this.id, 10);
    if ((min===null) || (id < min)) { min = id; }
    if ((max===null) || (id > max)) { max = id; }
  });
  return {min:min, max:max};
}

minMaxId('div'); // => {min:1, max:5}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/qQvVQ/