@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
  • Вопрос задан
  • 88 просмотров
Решения вопроса 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
Решение не смотрел, но я бы решил "в лоб".
1. Заводим массив из всех типов элементов (h1, b, div, span итд)
2. document.querySelectorAll
3. Профит
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час