Jquery 如何计算隐藏div中的可见集合元素?

Jquery 如何计算隐藏div中的可见集合元素?,jquery,Jquery,在一个div中有多个元素。有些元素是隐藏的,有些则不是 <div class="master"> <div class="child">element 1</div> <div class="child" style="display:none">element 2</div> <div class="child">element 3</div> <div class="child">

在一个div中有多个元素。有些元素是隐藏的,有些则不是

<div class="master">
  <div class="child">element 1</div>
  <div class="child" style="display:none">element 2</div>
  <div class="child">element 3</div>
  <div class="child">element 4</div>
</div>

我得到0个可见元素。是否有其他方法来计算未显式设置为“不可见”的元素?

通常,您可以使用:visible选择器进行计算,但由于父元素也是隐藏的,因此在此处不起作用

在这种情况下,您可以使用的解决方法是在子级上使用过滤器,并确定哪些未设置为显示:无:

让计数=$'.master.child'.filteri,el=>el.style.display!='无长度; console.logcount; 要素1 要素2 要素3 要素4
通常情况下,您可以使用:visible选择器进行此操作,但由于父级也是隐藏的,因此它在此处不起作用

在这种情况下,您可以使用的解决方法是在子级上使用过滤器,并确定哪些未设置为显示:无:

让计数=$'.master.child'.filteri,el=>el.style.display!='无长度; console.logcount; 要素1 要素2 要素3 要素4
<div class="master" style="display:none">
  <div class="child">element 1</div>
  <div class="child" style="display:none">element 2</div>
  <div class="child">element 3</div>
  <div class="child">element 4</div>
</div>