@Alex_87

Как собрать статистику DOM-дерева?

У меня следующее задание:

Моё решение(до классов пока не добрался)

https://codepen.io/Alexei_87/pen/dypyYPw?editors=1011

И у меня проблема! Вместо того, чтобы выводить
DIV: 1; B: 2;
У меня выводиться больше дивов и B. Всё это скорее всего происходит из-за рекурсии. Подскажите пожалуйста, как правильно решить эту проблему!

P.S. Мне подсказали не создавать массив, а кидать сразу в объект и вот что я сделал:
if(children[i].tagName != undefined){
      			obj.tags[children[i]] = (obj.tags[children[i]] || 0) + 1;
      		   }

В консоле, в свойстве tags правда вышли не теги, а это
5fc0b2f81afb3856598847.png
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
const s={};
document.querySelectorAll('*').forEach(({ tagName: n }) =>{
    s[n] = s[n] ? s[n] + 1 : 1;
});
console.table(s);

5fc0bb0d3e1a5734071851.png
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
Решение не смотрел, но я бы решил "в лоб".
1. Заводим массив из всех типов элементов (h1, b, div, span итд)
2. document.querySelectorAll
3. Профит
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы