所以,这就是我想会的工作:jQuery,如何查找对象数组的最大宽度?
Math.max($j.map($j.makeArray($j(".rl_shell")), function(val, i){
$j(val).width();
}));
故障:
$j.isArray($j.makeArray($j(".rl_shell")))
返回true
,当我做到这
$j.map($j.makeArray($j(".rl_shell")), function(val, i){
$j(val).width();
})
我得到一个空阵列([]
)。
$j(".rl_shell")
返回[DIV,DIV]
所以,我猜,我使用地图错了,但我在这里使用的语法: http://api.jquery.com/jQuery.map/所以我不太确定是什么交易是。
编辑:
按照一对夫妇的答案的建议,我想出了这一点:
$j.map($j.makeArray($j(".rl_shell")), function(val, i){
return $j(val).width();
});
返回[0,950]
,但是当我添加Math.max周围,我得到NaN
=/
我遇到过一个问题,我已更新我的问题以反映新问题。 – NullVoxPopuli
为什么在最后添加.get()? – NullVoxPopuli
'.get'将jQuery对象集合转换为本地数组。你必须为'.apply'提供一个数组。因此'Math.max([0,950])'返回'NaN',而'Math.max.apply(Math,[0,950])'等价于'Math.max(0,950)'并返回'950' 。 – dfsq