1

我想创建所选元素的每个子元素的宽度数组。我试过了 :

var width = $(element).children().map(function () { return this.style.width; }); 

但这不起作用。当我alert(width[0])然后而不是显示宽度它显示objectHtmlElement。我做错了什么?

4

4 回答 4

3

仅当您设置内联样式时,尝试.width()样式属性才有效。

var widths = $(element).children().map(function () { return $(this).width(); }); 
于 2012-10-18T07:35:41.870 回答
3

如果你想得到基本数组,你应该调用get方法,map 方法返回一个 jQuery 包装的数组。

由于返回值是一个 jQuery 包装的数组,因此 get() 返回的对象与基本数组一起使用是很常见的。

var widths = $(element).children().map(function() {
     return this.style.width; 
}).get(); 
于 2012-10-18T07:36:29.387 回答
1
var obj = $('li');
var arr = $.makeArray(obj);

结果将是:

(typeof obj === 'object' && obj.jquery) === true;
jQuery.isArray(arr) === true;
于 2012-10-18T07:37:30.840 回答
0

在 map 之后使用 jquery width() 和 get() :

var widths = $(element).children().map(function() {
     return $(this).width(); 
}).get(); 
于 2012-10-18T07:38:54.707 回答