我需要一种普通的JS方法来计算页面上隐藏的div的数量。
我有三个内联样式为display: none
的div。我以为这行得通,但是没有运气:
var hiddenContainers = (document.getElementsByClassName(".emp-container").style.display == "none").length;
我尝试了SO的几种解决方案,并找到了一些成功的JQuery解决方案,但我编写的内容只能在常规的旧JavaScript中完成。
编辑:这可行,但似乎是获得我想要的东西的不必要的回旋方式:
var hiddenContainers = [];
var containers = document.querySelectorAll(".emp-container");
for (var i = 0; i < containers.length; i++) {
if (containers[i].style.display == "none") {
hiddenContainers.push(containers[i]);
}
}
答案 0 :(得分:1)
function countclick(){
var m = document.querySelectorAll('.divs[style*="display:none;"]').length;
document.getElementById('count').innerHTML = "Hidden Divs: "+m;
}
<div class='divs' style="display:none;">a</div>
<div class='divs' style="">b</div>
<div class='divs' style="">c</div>
<div class='divs' style="display:none;">d</div>
<div class='divs' style="">e</div>
<div class='divs' style="display:none;">f</div>
<hr/>
<span id="count">Hidden Divs: 0</span><br/>
<button onclick='countclick();'>Count</button>