Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2012, 18:01
Новичок на форуме
Отправить личное сообщение для caca0 Посмотреть профиль Найти все сообщения от caca0
 
Регистрация: 18.05.2012
Сообщений: 7

Перебор дерева элементов - не хочет работать скрипт...
Вот функция - DOMTreeViewer, результат ее работы должно быть количество узлов html документа (count).
Не работает и все тут - пишет в консоли - hasChildNodes in not a function, уже мозги закипают..помогите ошибку найти...

var elem = document.getElementsByTagName('html');
console.log(DOMTreeViewer(elem));

// function DOMTreeViewer
function DOMTreeViewer(node) {
    if(node.hasChildNodes()) {
        for(var i = 0; i < node.childNodes.length; i++) {
            if(node.childNodes[i].nodeType == 1) {
                if(node.childNodes[i].hasChildNodes()) {
                    var count =+1;
                    DOMTreeViewer(node.childNodes([i]));
                }
            }
        }
    }
    return count;
}
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2012, 18:23
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

var elem = document.getElementsByTagName('html')[0];
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2012, 18:37
Новичок на форуме
Отправить личное сообщение для caca0 Посмотреть профиль Найти все сообщения от caca0
 
Регистрация: 18.05.2012
Сообщений: 7

Сообщение от vadim5june Посмотреть сообщение
var elem = document.getElementsByTagName('html')[0];
Попробовал - молчит как партизан, ни сообщ0ений ни ошибок в консоли....
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2012, 18:43
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

объявите count глобальной
var count=0;
var elem = document.g....
.....
count++
Ответить с цитированием
  #5 (permalink)  
Старый 18.05.2012, 19:20
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

Ну и запускать надо после загзузки
var count=0;
window.onload=function(){var elem = document.g....}
Ответить с цитированием
  #6 (permalink)  
Старый 18.05.2012, 19:24
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

можно проще сделать
<script>var cn=0;
window.onload=function(){var els =
document.getElementsByTagName('*');
for(var i=0;i<els.length;i++){
if(els[i].hasChildNodes()){cn++;}
};alert(cn);}
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 18.05.2012, 19:52
Новичок на форуме
Отправить личное сообщение для caca0 Посмотреть профиль Найти все сообщения от caca0
 
Регистрация: 18.05.2012
Сообщений: 7

Сообщение от vadim5june Посмотреть сообщение
можно проще сделать
<script>var cn=0;
window.onload=function(){var els =
document.getElementsByTagName('*');
for(var i=0;i<els.length;i++){
if(els[i].hasChildNodes()){cn++;}
};alert(cn);}
</script>
Это действительно работает.. Цель правда была изначально написать рекурсивную функцию...буду пытаться дальше)
Ответить с цитированием
  #8 (permalink)  
Старый 18.05.2012, 20:07
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

<script>var count=0;alert(0);
window.onload=function(){var elem =
document.getElementsByTagName('html')[0];
function DOMTreeViewer(node) {
if(node.hasChildNodes()) {
for(var i = 0; i < node.childNodes.length; i++) {
if(node.childNodes[i].nodeType == 1) {
if(node.childNodes[i].hasChildNodes()) {
count++;
DOMTreeViewer(node.childNodes[i]);
}
}
}
}
return count;
}
alert('***'+DOMTreeViewer(elem));};
</script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не хочет работать как надо в Хроме AlexZ Javascript под браузер 1 11.05.2012 11:34
Скрипт перестал работать в новых версиях firefox, Opera и Chrome, а в IE работает polbear Javascript под браузер 3 30.06.2011 09:34
После первого действия скрипт перестает работать cyberx jQuery 6 12.06.2010 22:04
Сломал всю голову.. Посмотрите спецы.. Не хочет работать страница в mozilla-firefox.. ProniK Ваши сайты и скрипты 1 02.06.2010 19:33
GetElementById не хочет работать в динамической форме Игорёk Events/DOM/Window 8 23.06.2009 13:27