jQuery 1.10现在计算隐藏元素的宽度?

时间:2013-07-15 21:13:50

标签: jquery

我们都知道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();
});

但这也不起作用 - 它仍然返回元素及其宽度。

1 个答案:

答案 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/