我想创建所选元素的每个子元素的宽度数组。我试过了 :
var width = $(element).children().map(function () { return this.style.width; });
但这不起作用。当我alert(width[0])
然后而不是显示宽度它显示objectHtmlElement
。我做错了什么?
我想创建所选元素的每个子元素的宽度数组。我试过了 :
var width = $(element).children().map(function () { return this.style.width; });
但这不起作用。当我alert(width[0])
然后而不是显示宽度它显示objectHtmlElement
。我做错了什么?
仅当您设置内联样式时,尝试.width()
样式属性才有效。
var widths = $(element).children().map(function () { return $(this).width(); });
如果你想得到基本数组,你应该调用get
方法,map 方法返回一个 jQuery 包装的数组。
由于返回值是一个 jQuery 包装的数组,因此 get() 返回的对象与基本数组一起使用是很常见的。
var widths = $(element).children().map(function() {
return this.style.width;
}).get();
var obj = $('li');
var arr = $.makeArray(obj);
结果将是:
(typeof obj === 'object' && obj.jquery) === true;
jQuery.isArray(arr) === true;
在 map 之后使用 jquery width() 和 get() :
var widths = $(element).children().map(function() {
return $(this).width();
}).get();