如何获取具有指定类的每个输入的宽度

dvl*_*den 1 javascript jquery

好吧,我有一个相当简单的事情,但有些东西不能正常工作.

我有的第一件事是几个<input />按钮,我想要的是为每个按钮包装自动设置宽度.

出于某种原因,无论我尝试什么,我都得到值0 [3x].比如像这样......

$('.button_holder .proceed').each(function() {
     console.log( parseInt( $(this).outerWidth() ) );
});
Run Code Online (Sandbox Code Playgroud)

console.log给了我"0".

这是预览的小提琴,它在那里工作......很奇怪.

JS小提琴示例

我不明白为什么,任何提示?

编辑1:我的项目将#container设置为display:none,JS执行一些淡入淡出效果.删除它,它现在似乎正常工作.

任何想法为什么以及如何使它与fadeIn()容器一起工作?

Sus*_* -- 5

当元素设置为display:none时,页面上技术上不存在该元素.所以width will be 0...如果你想让它工作,你可以在中编写代码callback of fadein

$('#container').fadeIn( 300, function() {
     $('.button_holder .proceed').each(function() {
        console.log( parseInt( $(this).outerWidth(), 10 ) );
     });
});
Run Code Online (Sandbox Code Playgroud)

因此,在页面上可见容器(位于回调函数中)之后,迭代元素并且它应该可以正常工作.

并且不要忘记在使用时添加radix参数parseint