jQuery / CSS - 如何在文档中选择所有li display none?

时间:2011-09-12 06:59:40

标签: jquery css jquery-selectors

jQuery / CSS - 如何选择文档中的所有<li style="display: none;">

6 个答案:

答案 0 :(得分:35)

虽然所选择的答案适用于您的情况,但它仍然没有回答这个问题。对于其他人发布的答案也一样,所以无论如何我决定写这个。

$('li[style*="display: none"]')

这将返回一个jQuery对象,该对象表示文档中所有<li>元素的列表,其样式属性包含“display:none”。

查找文档中的所有隐藏元素是另一回事。

答案 1 :(得分:7)

有一个选择器可以找到隐藏的元素:

$('li:hidden')

请注意,这会找到所有不可见的li元素,这不仅仅是因为它们已应用了样式display:none。可以隐藏元素,例如通过将其高度设置为零或隐藏父元素。

答案 2 :(得分:4)

$('li:hidden') - 按照jquery文档尝试它将起作用

更多详情 - :hidden Selector

答案 3 :(得分:3)

试试这个

$("li").filter(function() { return $(this).css("display") == "none" })

答案 4 :(得分:3)

我会说:

$("li").not(":visible")

$("li:hidden")

然后内联所有内容或使用.each()循环遍历所有内容。

答案 5 :(得分:0)

从jQuery 1.3.2开始,如果浏览器报告的offsetWidth或offsetHeight大于0,则该元素是可见的。这种变化意味着什么?这意味着如果元素的CSS显示为“none”,或者其父/祖先元素的任何显示为“none”,或者元素的宽度为0且元素的高度为0,则元素将报告为隐藏。 见这里:http://blog.jquery.com/2009/02/20/jquery-1-3-2-released/

示例:

这意味着只有当您的父母有 display:none 样式时, li 元素才会被识别为隐藏:

$("li:hidden")