Задача
Обойдите все текстовые узлы в DOM-дереве. Покажите варианты через createNodeIterator и createTreeWalker (с фильтрацией пустых узлов).
Решение
Оптимальное решение
const iterator = document.createNodeIterator( document.body, NodeFilter.SHOW_TEXT // например, только текстовые узлы ); let node; while ((node = iterator.nextNode())) { console.log(node.textContent); }
Альтернативное решение (TreeWalker с фильтром)
// Поиск всех текстовых узлов const walker = document.createTreeWalker( document.body, NodeFilter.SHOW_TEXT, { acceptNode: function (node) { // игнорируем пустые текстовые узлы return node.textContent.trim().length > 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT; }, } ); let node; while ((node = walker.nextNode())) { console.log(node.textContent); }