Javascript Jquery width()是否通过迭代?

Javascript Jquery width()是否通过迭代?,javascript,jquery,width,each,Javascript,Jquery,Width,Each,我在迭代和检索width()值时遇到了一些问题 因此,对于每个“MyClass”元素,我希望找到宽度(有些是不同的) 但是上面的代码只生成MyClass第一个实例的width(),然后返回0 关于能够获得MyClass的每个实例的宽度有什么想法吗 var widths = []; $('.MyClass').each(function() { widths.push($(this).width()); }); 应该很好用。如果你再多看一点代码,我也许能找出哪里出了问题 更新: 你什么

我在迭代和检索width()值时遇到了一些问题

因此,对于每个“MyClass”元素,我希望找到宽度(有些是不同的)

但是上面的代码只生成MyClass第一个实例的width(),然后返回0

关于能够获得MyClass的每个实例的宽度有什么想法吗

var widths = [];
$('.MyClass').each(function() {
    widths.push($(this).width());
}); 
应该很好用。如果你再多看一点代码,我也许能找出哪里出了问题

更新:

你什么时候运行这个方法?您是在等待DOM准备就绪,还是立即执行它?否则,浏览器可能还无法渲染所有这些元素

如果您还没有:

var widths = [];
$(document).ready(function() {
    $('.MyClass').each(function() {
        widths.push($(this).width());
    }); 
});
应该很好用。如果你再多看一点代码,我也许能找出哪里出了问题

更新:

你什么时候运行这个方法?您是在等待DOM准备就绪,还是立即执行它?否则,浏览器可能还无法渲染所有这些元素

如果您还没有:

var widths = [];
$(document).ready(function() {
    $('.MyClass').each(function() {
        widths.push($(this).width());
    }); 
});

使用
map
而不是
each
简化代码:

$('.MyClass').map( function() {
    return $(this).width();
});

使用
map
而不是
each
简化代码:

$('.MyClass').map( function() {
    return $(this).width();
});

不幸的是,这并没有奏效。它们对我的代码没有多大影响——我在页面上有大约20个MyClass实例(有些具有不同的宽度),我想知道每个实例的宽度。虽然此方法确实将初始宽度值推送到了数组中,但随后的值都是0。我通过将width()与text()切换来检查这一点——text()输出每个类的原始内容;另一方面,width参数无法通过定义第一个值。谢谢Slavik。您是立即在页面上运行此操作,还是等待DOM加载?看到我刚才对我的答案所做的更新了吗?不幸的是,这并没有起作用。它们对我的代码没有多大影响——我在页面上有大约20个MyClass实例(有些具有不同的宽度),我想知道每个实例的宽度。虽然此方法确实将初始宽度值推送到了数组中,但随后的值都是0。我通过将width()与text()切换来检查这一点——text()输出每个类的原始内容;另一方面,width参数无法通过定义第一个值。谢谢Slavik。您是立即在页面上运行此操作,还是等待DOM加载?请看我刚才对我的答案所做的更新。回应您对TM的评论,我们必须查看您的HTML(可能还有CSS)才能解决这个问题。请提供复制问题所需的代码(或在其上托管),以便我们可以帮助您。响应您对TM的评论,我们必须查看您的HTML(可能还有CSS)以解决问题。请提供复制问题(或在其上托管问题)所需的代码,以便我们能够为您提供帮助。谢谢--对你们两人:)谢谢--对你们两人:)