[英]Javascript get all elements with one class of two
i have many divs with class="cat-box" and class="cat-box hidden". 我有很多div,其中class =“ cat-box”和class =“ cat-box隐藏”。
I create a javascript to view all classes with cat-box, but it's counting both of "cat-box" and "cat-box hidden". 我创建了一个JavaScript,以查看所有带有cat-box的类,但是它同时计算了“ cat-box”和“ cat-box hidden”。
How can I count only elements with class cat-box? 如何只计算类别为cat-box的元素?
My script: 我的剧本:
function GetMore() {
var allvis = document.getElementsByClassName('cat-box').length;
alert(allvis);
}
您可以使用:not
CSS伪类来实现此目的: document.querySelectorAll('.cat-box:not(.hidden)');
Use document.querySelectorAll()
with a selector that excludes the hidden
elements. 将document.querySelectorAll()
与不包含hidden
元素的选择器一起使用。
Here's an example... 这是一个例子
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>
Use querySelector
and not
in your javascript for that: 使用querySelector
而not
在您的JavaScript中:
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>
如果您使用jQuery
$("div.cat-box")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.