如何在jquery中创建数组

时间:2012-10-18 07:32:45

标签: javascript jquery

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

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

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

4 个答案:

答案 0 :(得分:3)

尝试.width()样式属性仅在设置内联样式时有效。

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

答案 1 :(得分:3)

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

  

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

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

答案 2 :(得分:1)

var obj = $('li');
var arr = $.makeArray(obj);

结果将是:

(typeof obj === 'object' && obj.jquery) === true;
jQuery.isArray(arr) === true;

答案 3 :(得分:0)

在map:

之后使用jquery width()和get()
var widths = $(element).children().map(function() {
     return $(this).width(); 
}).get();