powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / (JS && DOM)Обойти дерево.
4 сообщений из 4, страница 1 из 1
(JS && DOM)Обойти дерево.
    #33338362
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Специально не пошол в 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
(JS && DOM)Обойти дерево.
    #33339097
Andres 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где зацикливается? Там и проверять, чтобы не заходить снова на уже пройденные ветви.
Кажется, у каждого узла-потомка есть ссылка на родителя?
...
Рейтинг: 0 / 0
(JS && DOM)Обойти дерево.
    #33339104
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andres 1Где зацикливается? Там и проверять, чтобы не заходить снова на уже пройденные ветви.
Кажется, у каждого узла-потомка есть ссылка на родителя?
Дык мне не родитель нужен, а потомок.
...
Рейтинг: 0 / 0
(JS && DOM)Обойти дерево.
    #33339283
Vadimek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так не пойдёт ?

Код: 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
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / (JS && DOM)Обойти дерево.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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