如果我有一个html代码段
<div>
<ul style="display:block">
<li>A</li>
<li>B</li>
</ul>
<ul style="display:none">
<li></li>
<li></li>
</ul>
</div>
如何使用jQuery查找no。 div中的ul元素的css属性为display: none
?
我知道我可以使用$('div').children('ul').length
但这会返回所有ul元素
答案 0 :(得分:5)
如果您想获得隐藏ul
的长度,可以使用:hidden选择器。它将处理display:none
集合的那些。同样,您也有:visible
选择器。
$('div').children('ul:hidden').length
由于以下几个原因,可以将元素视为隐藏:
答案 1 :(得分:3)
您可以使用简单的过滤器过滤特定的CSS值:
$('div ul').filter(function() {
return this.style.display === 'none';
}).length
答案 2 :(得分:1)
您应该能够使用:visible标记查找所有可见列表,然后执行$('ul:visible').length
或:隐藏相反的内容以查找长度。