Подтвердить что ты не робот

Как подсчитать общее количество div внутри другого div, используя javascript

Как подсчитать общее количество элементов div, которые содержатся в другом div, используя javascript?

4b9b3361

Ответ 1

getElementsByTagName() - это не только метод document, но и тот, который может работать на любом элементе DOM.

элемент.getElementsByTagName - это похожий на document.getElementsByTagName, кроме что его поиск ограничивается теми элементы, которые являются потомками указанный элемент

подробнее см. https://developer.mozilla.org/en/DOM/element.getElementsByTagName


Итак, фактический код, который делает то, что вы просите,

var container_div = document.getElementById('id_of_container_div');
var count = top_level_div.getElementsByTagName('div').length;

Ответ 2

Вы можете использовать @davidcmoulton удобный Gist: https://gist.github.com/davidcmoulton/a76949a5f35375cfbc24

Мне очень полезно, что он не только учитывает DIV, но и перечисляет количество всех типов элементов вашей страницы.

Вот копия Gist для дополнительной справки:

(function (window, undefined) {
//  Counts all DOM elements by name & logs resulting object to console. 
var forEach = Array.prototype.forEach,
counter = {},

incrementElementCount = function (elementName) {
  if (counter.hasOwnProperty(elementName)) {
    counter[elementName] += 1;
  } else {
    counter[elementName] = 1;
  }
},

processNode = function (node) {
  var currentNode = node;
  if (currentNode.nodeType === currentNode.ELEMENT_NODE) {
    incrementElementCount(currentNode.nodeName);
    if (currentNode.hasChildNodes) {
      forEach.call(currentNode.childNodes, function (childNode) {
        if (childNode.nodeType === currentNode.ELEMENT_NODE) {
          processNode(childNode);
        }
      });
    }
  }
};

processNode(window.document.firstElementChild);

console.log(counter);

}(this));

Ответ 3

Существует много способов подсчета элемента divs с помощью jquery.

Но самый популярный и простой способ:

$(document).ready(function(){ 
  var divCount = $("div").size();
  alert(divCount);
});

и

$(document).ready(function(){ 
  var divCount = $("div").length;
  alert(divCount);
});

Полезно для вас