jQuery:如何计算“显示”不是“无”的元素数量?

时间:2011-03-16 12:09:12

标签: jquery

我使用show()hide()来显示和隐藏表格中的行。

我如何计算非隐藏行数(更准确地说,display行!= none)?

请注意:

$('tr:visible').length

无法工作,因为如果表格本身有display=none,则结果将始终为0.

4 个答案:

答案 0 :(得分:15)

试试这个:

$('tr:not([style*="display: none"])').length

示例http://jsfiddle.net/infernalbadger/7LvD5/

答案 1 :(得分:13)

根据实际的CSS属性过滤行:

$('tr').filter(function() {
    return $(this).css('display') !== 'none';
}).length;

答案 2 :(得分:2)

答案 3 :(得分:0)

将此添加到组合中。我发现这是一个更可靠的选择。

function recount () {
    var numOfVisibleRows = jQuery('tr.itemtext:visible').length;
    document.getElementById("item_table_count").innerHTML = numOfVisibleRows;
}

我喜欢这个是因为我的表 itemtext 以不同的方式隐藏行。我希望它有用。

有关详细信息,请参阅此问题:jquery selector to count the number of visible table rows?