jquery find class with class and style display:block

spi*_*man 9 css jquery highlight

我正在.highlight使用这个简单的jQuery片段检索"找到"元素的数量(这些元素具有类):

$(".highlight").length
Run Code Online (Sandbox Code Playgroud)

但现在我的问题是通过隐藏一些元素 style="display: none;"

现在,如何突出显示和显示元素的数量?

就像是:

$(hasClass 'highlight' AND has style 'display: block'). length ?
Run Code Online (Sandbox Code Playgroud)

Adi*_*dil 26

您可以使用:visible来获取可见的元素.

$(".highlight:visible").length
Run Code Online (Sandbox Code Playgroud)


dim*_*isk 8

一种方法是使用:visiblejQuery伪选择器作为Adil提到的.

一个常见的缺陷是,如果带有类的元素.highlight嵌套到一个隐藏的容器中,那么即使该元素具有该元素,您也无法获得它display: block

相反,您可以使用css正则表达式如下: $('.highlight[style*="display: block"]')

一个常见的缺陷是您需要确切地知道规则的编写方式.如果之前没有这样的空间block:display:block而不是display: block你也不能得到这个元素.

克服这种情况的一种方法是仅搜索block样式中的术语: $('.highlight[style*="block"]')


Som*_*rat 5

你也可以通过使用css来 查看元素是否有 css display="none"display="block"

 $(".highlight").each(function(){
       if($(this).css("display")=="block"){
          //Your code here
       }
    });
Run Code Online (Sandbox Code Playgroud)