Как подсчитать общее количество элементов div
, которые содержатся в другом div
, используя javascript?
Как подсчитать общее количество div внутри другого div, используя javascript
Ответ 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);
});
Полезно для вас