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, время: 09:32. |