如何计算未隐藏的列表元素?

时间:2010-04-05 23:55:39

标签: jquery html css

从简单列表开始:

<ul>
    <li>Item 1</li>
    <li style="display: none;">Item 2</li>
    <li>Item 3</li>
</ul>

我知道我可以从列表总计

中减去隐藏的元素
$('ul li').size() - $('ul li:hidden').size()

但我认为用jquery实现这一目标可能有更优雅的方法:

$('ul li:hidden:not').size()

这不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:23)

:hidden相反的是:visible - jQuery docs

$('ul li:visible').size()

答案 1 :(得分:2)

最简单的形式是:

var hidden = $("ul > li:hidden").length;

在旁注中,要正确使用:not()

var hidden = $("ul > li:not(:visible)").length;

最后,jQuery对象支持size()方法和length属性,它们是可互换的。