1

好的,所以我有相当简单的事情,但有些东西不能正常工作。

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

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

$('.button_holder .proceed').each(function() {
     console.log( parseInt( $(this).outerWidth() ) );
});

console.log 给了我“0”。

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

JS 小提琴示例

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

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

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

4

1 回答 1

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 ) );
     });
});

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

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

于 2013-06-17T23:07:52.607 回答