Jquery的宽度()通过迭代?
-
21-08-2019 - |
题
我有一点麻烦迭代和检索宽度()的值。
$(".MyClass").each(
function(){
elemWidth=$(this).width();
}
);
因此每个“MyClass的”元素i想找到的宽度(一些是不同的)。
但上面的代码仅产生MyClass的的第一个实例的宽度()和后,返回0。
上能够获得的MyClass每个实例的宽度任何想法?
解决方案
使用map
代替each
简化代码:
$('.MyClass').map( function() {
return $(this).width();
});
其他提示
var widths = [];
$('.MyClass').each(function() {
widths.push($(this).width());
});
应该只是罚款。如果你表现出更多的代码我也许能找出什么错误。
<强>更新强>
当你运行这个方法?你等到DOM准备好,或者只是立即执行呢?如果不是,则浏览器可能不进行渲染所有这些元素的爱好。
试试这个,如果你是不是已经:
var widths = [];
$(document).ready(function() {
$('.MyClass').each(function() {
widths.push($(this).width());
});
});
不隶属于 StackOverflow