jQuery - 从类的元素中获取属性的值列表

Ank*_*kur 81 jquery css-selectors

我有一个类.object,它有一个名为的属性level.我想获得level页面上所有不同值的列表,以便我可以选择最高的值.

如果我这样做:

$(".object").attr("level")
Run Code Online (Sandbox Code Playgroud)

...这会得到一个值列表,它是level属性的值吗?我怀疑不是,但那你怎么做那样的事情?

注意:我不想选择HTML对象进行操作,因为这是更常见的,我想选择属性的值.

编辑:为了获得最高"水平"我已经做到了这一点,但似乎没有用.我现在将尝试其他建议的方法.

var highLevel=0;
$.each(".object[level]", function(i, value) {
   if (value>highLevel) {
       highLevel=value;
   }
});

alert(highLevel);
Run Code Online (Sandbox Code Playgroud)

Kob*_*obi 183

$(".object").attr("level")将只返回第一个.object元素的属性.

这将为您提供所有levels 的数组:

var list = $(".object").map(function(){return $(this).attr("level");}).get();
Run Code Online (Sandbox Code Playgroud)

  • @Yuji - [`get`](http://api.jquery.com/get/)将jQuery对象转换为常规数组. (18认同)
  • `.get()`做什么? (6认同)

har*_*rpo 26

问题的第一部分,将属性值转换为数组.看到这个问题

jQuery从列表中获取img源属性并推送到数组中

你会说

var levelArray = $('.object').map( function() {
    return $(this).attr('level');
}).get();
Run Code Online (Sandbox Code Playgroud)

问题的第二部分,您可以使用此技术获得最高价值

var maxValue = Math.max.apply( Math, levelArray );
Run Code Online (Sandbox Code Playgroud)