使用jQuery获取列表中每个元素的宽度

Pro*_*oft 3 each jquery width

我试图获取元素中每个列表项的宽度值,但它不断返回对象而不是宽度.这应该很简单,但出于某种原因我必须遗漏一些东西.

这是我的代码:

    var listWidth = $('ul li').each(function(){
        return $(this).width();
    });

    console.log(listWidth);
Run Code Online (Sandbox Code Playgroud)

use*_*716 8

使用map()(docs)方法将值返回给jQuery对象,然后使用get()(docs)方法将其转换为Array.

var listWidth = $('ul li').map(function(){
    return $(this).width();
}).get();
Run Code Online (Sandbox Code Playgroud)

或者类似地,您可以使用返回Array 的jQuery.map()(docs)方法.

var listWidth = $.map($('ul li'),function(val){
    return $(val).width();
});
Run Code Online (Sandbox Code Playgroud)

  • 显然,jQuery有2个.get()函数(就像它有2个.load()函数一样).[单一功能](http://api.jquery.com/get/)用于你在答案中使用它的方式,而[另一个](http://api.jquery.com/jQuery.get/)用于AJAX请求. (2认同)