如何获取具有特定css属性的元素长度?

Adi*_*tya 1 javascript css jquery

如果我有一个HTML代码段

<div>
     <ul style="display:block">
         <li>A</li>
         <li>B</li>
     </ul>
     <ul style="display:none">
         <li></li>
         <li></li>
     </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery来查找no.div中的ul元素的css属性是display: none?我知道我可以使用,$('div').children('ul').length但这会返回所有ul元素

PSL*_*PSL 5

您可以使用:隐藏选择器,如果您想获得隐藏的uls 的长度.它会照顾那些有display:none套装的.同样,你也有:visible选择器.

$('div').children('ul:hidden').length
Run Code Online (Sandbox Code Playgroud)

元素可被视为隐藏,原因如下:

  • 它们的CSS显示值为none.
  • 它们是type ="hidden"的表单元素.
  • 它们的宽度和高度显式设置为0.
  • 隐藏了一个祖先元素,因此该元素不会显示在页面上.