Я пытаюсь взять структуру вложенных неупорядоченных списков html в качестве базы данных для некоторой информации, необходимой для организации и анализа. Я пытаюсь фильтровать, подсчитывать и представлять информацию с помощью jQuery. Я стараюсь, чтобы в списках не было атрибутов класса или идентификатора, чтобы они были очень чистыми. Только корень будет иметь класс или идентификатор вроде этого:JQuery - выберите немедленный текст li без выбора дочернего текста ul.
<ul id="root">
<li> First first-level element
<ul>
<li> First second-level element
<ul>
<li>First Third-level element</li>
<li>Second Third-level element</li>
</ul>
</li>
<li> Second second-level element
<ul>
<li>Third Third-level element</li>
<li>Fourth Third-level element</li>
</ul>
</li>
</ul>
</li>
<li> Second first-level element
<ul>
<li> Third second-level element
<ul>
<li>Fifth Third-level element</li>
</ul>
</li>
</ul>
</li>
</ul>
Моего вопроса: как я могу выбрать непосредственный дочерний текстовый узел лития без выделения текста в ребенке, что Ли и внуке Ul в (то есть его подсписки)? Например, если список HTML выше, я хотел бы быть в состоянии придумать список всех текстовых узлов второго уровня:
- Первый второй уровень элемент
- Второй второго уровня элемента
- третьего второго уровня элемент
Или весь текст от третьего уровня ... и т.д. Это позволило бы мне перечислить и сосчитать элементы в заданном уровне. Наиболее близким я был:
// to select items in second but not third level
$('ul#root ul').not('ul#root ul ul').children('li')
Но это не гибкое решение. Что, если список имеет много уровней, скажем, семь? чтобы выбрать шестой уровень, вам нужно будет сделать что-то вроде:
// to select items in second but not third level
$('ul#root ul ul ul ul ul').not('ul#root ul ul ul ul ul ul').children('li')
Должен быть другой способ, но я не нашел его. Любые предложения очень ценятся.
любые новости здесь ?? – headkit