Рекурсировать по дочерним узлам
Посмотрите на код ниже, с открытой консолью. Есть несколько узлов, зарегистрированных на консоли.
function recurseChildren(element) {
var children = element.childNodes,
length = children.length;
if (length) {
for (var i = 0; i < length; i++) {
console.dir(children[i]);
recurseChildren(children[i]);
}
}
}
recurseChildren(document.body);
Затем запустите это в консоли: document.body.childNodes.length;
Там 23 зарегистрировано в этой точке.
Не должен recurseChildren()
функция сделать console.dir
из всего множества предметов?
1 ответ
Решение
Это две разные среды. Вы запускаете скрипт из редактора stackru, а затем запускаете document.body.childNodes.length
в вашей консоли для сайта. Редактор stackru ограничен iframe с минимальным кодом. Если после запуска этого скрипта вы откроете консоль и увидите вывод, вы заметите, что это не 23, а 2 или около того document.body.childNodes.length
в моей консоли для ТАК дал мне 25).
console.log(document.body.childNodes.length);
document.write('total nodes in this iframe: ' + document.body.childNodes.length);