我们都知道jQuery doesn't calculate the width of hidden elements。对? 在jQuery 1.10中有没有改变?
在this jsFiddle中,计算隐藏LI <li style="display:none;">a hidden li</li>
的宽度。这是为什么?
如果最近的更新改变了行为,我怎样才能确保宽度不计算?我试过了:
$('#theList li').each(function() {
totalWidth += $(this).is(':visible').width();
});
但这也不起作用 - 它仍然返回元素及其宽度。
答案 0 :(得分:1)
您可能需要首先检查元素是否可见,然后执行您的功能。
var totalWidth = 0;
$('#theList li').each(function() {
if ($(this).is(":visible")){ // CHECK FIRST IF VISIBLE
var $this = $(this);
totalWidth += $this.width();
$('#theListItems').append($this.text() + " (" +$this.width() + " width)<br>");
$('#totalWidth').html(totalWidth);
}
});
Jsfiddle: http://jsfiddle.net/javascript/LQZB2/