Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / (JS && DOM)Обойти дерево. / 4 сообщений из 4, страница 1 из 1
21.10.2005, 20:46
    #33338362
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS && DOM)Обойти дерево.
Специально не пошол в PHP/Perl, так как задача скорей по алгоритму. Хочу обойти все элементы дерева.
Вот такой скрипт зацикливается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<HTML>
  <script type="text/javascript">
    function f(list){
    
      var obg = list.childNodes;
      
      for (i =  0 ; i < list.childNodes.length; i++){  
        alert(list.childNodes.length);
        f(list.childNodes.item(i));
      }
    }
  </script>
  <BODY id="t">
  
    <h1 id="test" align="center">
    Yo
    <p>
      Test
    </p>
    <div>
      <p>
      
      </p>
    </div>
    </h1>
    Bla
    <br>
    <input type="button" value="test" onclick="f(document.getElementById('test'));"/>
  </BODY>
</HTML>
...
Рейтинг: 0 / 0
23.10.2005, 14:38
    #33339097
Andres 1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS && DOM)Обойти дерево.
Где зацикливается? Там и проверять, чтобы не заходить снова на уже пройденные ветви.
Кажется, у каждого узла-потомка есть ссылка на родителя?
...
Рейтинг: 0 / 0
23.10.2005, 14:52
    #33339104
Sarin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS && DOM)Обойти дерево.
Andres 1Где зацикливается? Там и проверять, чтобы не заходить снова на уже пройденные ветви.
Кажется, у каждого узла-потомка есть ссылка на родителя?
Дык мне не родитель нужен, а потомок.
...
Рейтинг: 0 / 0
23.10.2005, 23:46
    #33339283
Vadimek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(JS && DOM)Обойти дерево.
Так не пойдёт ?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<script type="text/javascript">
function f(list){
          
      if(list.childNodes.length == 0 )
      {	
	return;
      }
      for (i =  0 ; i < list.childNodes.length; i++){  
        alert(list.childNodes.length);
        f(list.childNodes.item(i));
      }
}
</script>
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / (JS && DOM)Обойти дерево. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]