Javascript Jquery width()是否通过迭代?
我在迭代和检索width()值时遇到了一些问题 因此,对于每个“MyClass”元素,我希望找到宽度(有些是不同的) 但是上面的代码只生成MyClass第一个实例的width(),然后返回0 关于能够获得MyClass的每个实例的宽度有什么想法吗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()); }); 应该很好用。如果你再多看一点代码,我也许能找出哪里出了问题 更新: 你什么
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)以解决问题。请提供复制问题(或在其上托管问题)所需的代码,以便我们能够为您提供帮助。谢谢--对你们两人:)谢谢--对你们两人:)