Как посчитать и вывести в лог количество элементов?

Приветствую!
Функция должна перебирать все узлы на странице и выводить в консоль статистику по элементам.
вот код https://codepen.io/SidorovWeb/pen/xpQNje?editors=1010
Подскажите, как посчитать.
  • Вопрос задан
  • 235 просмотров
Решения вопроса 2
@kvaak
FE
const domElements = {};

function addToCounter (elem) {
  domElements[elem.tagName] = typeof domElements[elem.tagName] === 'undefined' ? 1 : domElements[elem.tagName] + 1
}

function scanDOM (elem) {
	if (elem.hasChildNodes()) {
		for(let i = 0; i < elem.childNodes.length; i++) {
			let child = elem.childNodes[i];
			if (child.nodeType == 1) {
        addToCounter(child);
				scanDOM(child);
			}
		}
	} else {
    addToCounter(elem);
    
    Object.keys(domElements).forEach((val) => {
      console.log(`There are ${domElements[val]} elements with ${val} tag name `);
    })
  }
}

let body = document.querySelector('body');

scanDOM(body);
Ответ написан
Комментировать
alex_keysi
@alex_keysi
Помог с решением? Отметь “правильный ответ”
Есть хороший вариант вот так.
document.getElementsByTagName('*').length
Нашел вот тут
ссылка
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SidorovAN
@SidorovAN Автор вопроса
Спасибо!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы