计算隐藏的div

时间:2018-07-22 13:10:11

标签: javascript html count hidden elements

我需要一种普通的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]);
    }
  }

1 个答案:

答案 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>