从简单列表开始:
<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()
这不起作用。有什么想法吗?
答案 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
属性,它们是可互换的。