Показать сообщение отдельно
  #3 (permalink)  
Старый 20.05.2016, 01:13
Аспирант
Отправить личное сообщение для xintrea Посмотреть профиль Найти все сообщения от xintrea
 
Регистрация: 02.01.2011
Сообщений: 56

Сообщение от Rise Посмотреть сообщение
xintrea, это jquery метод, а не DOM-модели.
Я это понял уже...

Проблема оказалась в другом. Сразу после парсинга XML через parseFromString(), элементы одного уровня становятся вложенными. И поэтому у каждого элемента только один дочерний элемент. Это не поддается никакой логике.

Например, XML-код такой:

Код:
<root>
 <format version="1" subversion="1"/>
 <content>
  <node id="1372502371bty1nking9" name="Компьютеры">
   <node id="1372921359br7f0f5w5r" name="Железо">
    <recordtable>
     <record tags="ATX, корпус.." id="1372924870fja1yb6mmw"/>
     <record tags="POST-коды..." id="137294581524gn1ywu1h"/>
    </recordtable>
   </node>
 ...
А вот как выглядит объектное дерево:



У меня все это дело висит в онлайне, можно убедиться:

1. Открываешь URL http://webhamster.ru/webmytetra

2. В появившемся окне вставляешь: https://raw.githubusercontent.com/xi...er/mytetra.xml. Можешь открыть этот URL в браузере чтобы видеть с какими данными идет работа.

3. Открываешь дебагер, ставишь брекпоинт в файле tree.js на строку 197 (это сабжевая проблемная строка)

4. Пару раз после остановки нажимаешь продолжение, пока переменная nodeName не станет «Железо». Именно тогда будет два элемента record, а конструкция вернет в recordCount единицу.
Изображения:
Тип файла: jpg scr_383.jpg (12.9 Кб, 2 просмотров)
Ответить с цитированием