DOM модель подсчет тегов документа
Всем привет.
помогите разобраться. У меня есть скрипт который определяет количество тегов в документе. head> <script> function countTags(n) { // n – это Node var numtags = 0; // Инициализируем счетчик тегов if (n.nodeType == 1 /*Node.ELEMENT_NODE*/) // Проверяем, является ли n // объектом Element numtags++; // Если это так, увеличиваем счетчик var children = n.childNodes; // Теперь получаем все дочерние элементы n for(var i=0; i < children.length; i++) { // Цикл по всем дочерним элементам numtags += countTags(children[i]); // Рекурсия по всем дочерним элементам } return numtags; // Возвращаем общее число тегов } </script> </head> <!-- Это пример использования функции countTags() --> <body onload="alert('Количество тегов в документе: ' + countTags(document))"> Это <i>пример</i> документа. </body> результате подсчетов выдается ответ что в документе 5 тегов! Хотя если присмотреться то их тут только 4!!! Объясните где он находит 5 тег |
Цитата:
|
что то не получается.
head> <script> function countTags(n) { // n – это Node var tag=document.getElementById("tag"); var f; var numtags = 0; // Инициализируем счетчик тегов if (n.nodeType == 1 /*Node.ELEMENT_NODE*/) // Проверяем, является ли n // объектом Element f= n.tagName; numtags++; // Если это так, увеличиваем счетчик var children = n.childNodes; // Теперь получаем все дочерние элементы n for(var i=0; i < children.length; i++) { // Цикл по всем дочерним элементам numtags += countTags(children[i]); // Рекурсия по всем дочерним элементам f= f+ ", "+children[i].tagName; } tag.value= f; return numtags; // Возвращаем общее число тегов } </script> </head> <!-- Это пример использования функции countTags() --> <body onload="alert('Количество тегов в документе: ' + countTags(document))"> Это <i>пример</i> документа. <div id="tag"></div> </body> не работает |
Цитата:
alert(document.getElementsByTagName('*').length); |
Цитата:
alert(document.getElementsByTagName('*')[0].tagName); |
Часовой пояс GMT +3, время: 01:48. |