好的,所以我有一件相当简单的事情,但有些事情不能正常工作。
我的第一件事是几个<input />
按钮,我想要的是为每个按钮包装设置自动宽度。
出于某种原因,无论我尝试什么,我得到的值为0 [3x]。比如像这样......
$('.button_holder .proceed').each(function() {
console.log( parseInt( $(this).outerWidth() ) );
});
console.log给我“0”。
这是预览的小提琴,它在那里工作......很奇怪。
我不明白为什么,任何提示?
编辑1: 我的项目将#container设置为display:none,JS会执行一些淡入淡出效果。删除它,它现在似乎正常工作。
任何想法为何以及如何使其与fadeIn()
容器一起使用?
答案 0 :(得分: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 ) );
});
});
所以在容器在页面上可见,这是在回调函数中,迭代元素,它应该工作正常。
使用parseint