Javascript以一类两个来获取所有元素

时间:2018-10-12 12:59:16

标签: javascript

我有很多div,其中class =“ cat-box”和class =“ cat-box隐藏”。

我创建了一个JavaScript来查看带有cat-box的所有类,但是它同时计数了“ cat-box”和“ cat-box hidden”。

我如何只计算cat-box类中的元素?

我的脚本:

classpath 'com.google.gms:google-services:4.0.1'

4 个答案:

答案 0 :(得分:3)

您可以使用:not CSS伪类来实现此目的: document.querySelectorAll('.cat-box:not(.hidden)');

答案 1 :(得分:2)

document.querySelectorAll()与不包含hidden元素的选择器一起使用。

这是一个例子...

function GetMore() {
    var allvis = document.querySelectorAll('.cat-box:not(.hidden)').length;
    alert(allvis);
}

document.getElementById("count").addEventListener("click", GetMore);
.hidden { color: rgb(200, 200, 200); }
<div class="cat-box">cat box</div>
<div class="cat-box hidden">cat box</div>
<div class="cat-box">cat box</div>
<div class="cat-box hidden">cat box</div>
<div class="cat-box">cat box</div>
<button id="count">count</button>

答案 2 :(得分:0)

为此在JavaScript中使用querySelectornot

function GetMore() {
  var allvis = document.querySelectorAll('.cat-box:not(.hidden)').length;
  alert(allvis);
}

function GetMore() {
  var allvis = document.querySelectorAll('.cat-box:not(.hidden)').length;
  alert(allvis);
}
GetMore();
<div class="cat-box"></div>
<div class="cat-box"></div>
<div class="cat-box hidden"></div>

答案 3 :(得分:-1)

如果使用jquery

$("div.cat-box")