我检索的“发现”元素(这些元素具有.highlight
类)这个简单的jQuery片段数量:的jQuery寻找元素:块
$(".highlight").length
但现在我的问题是,一些元素被隐藏,通过style="display: none;"
现在,我如何获得突出显示的元素数量?
喜欢的东西:
$(hasClass 'highlight' AND has style 'display: block'). length ?
我检索的“发现”元素(这些元素具有.highlight
类)这个简单的jQuery片段数量:的jQuery寻找元素:块
$(".highlight").length
但现在我的问题是,一些元素被隐藏,通过style="display: none;"
现在,我如何获得突出显示的元素数量?
喜欢的东西:
$(hasClass 'highlight' AND has style 'display: block'). length ?
您可以使用:visible获得元件,它是可见的。
$(".highlight:visible").length
还可以通过使用css看到元件做具有的CSS display="none"
或display="block"
$(".highlight").each(function(){
if($(this).css("display")=="block"){
//Your code here
}
});
的一种方式是如阿迪尔提到使用:visible
jQuery的伪选择器。
一个常见的错误是,如果与.highlight
类元素嵌套到隐藏,然后一个容器,你将无法得到它,即使该元素具有display: block
相反,你可以使用CSS的正则表达式如下: $('.highlight[style*="display: block"]')
一个常见的错误是,您需要确切知道如何编写规则。如果在block
之前没有空格,则如下所示:display:block
而不是display: block
您无法获取元素。
克服这种情况的方法是只在风格的搜索术语block
像这样: $('.highlight[style*="block"]')