Прямые потомки только с помощью поиска jQuery - PullRequest
33 голосов
/ 07 декабря 2011

Можно ли выбрать только прямых потомков элемента с помощью функций jQuery find() или children()?

У меня есть несколько элементов ul, каждый с другими элементами ul внутри, инекоторые корневые li элементы тоже.Я сохраняю определенного родителя ul в переменной (как объект jQuery), а затем ищу любой из корневых li элементов, используя: my_root_ul.find('li');.

Однако этот метод также находит любой li, принадлежащий ul внутри ul, если это имеет смысл.

Мой вопрос заключается в том, как я могу выбрать только прямойпотомки типа li в объекте my_root_ul, использующие find().Обычно мы можем использовать что-то вроде $('ul > li') для возврата только прямых li элементов, но должна быть возможность отфильтровать возвращенные элементы?

Вот пример, демонстрирующий, что я имею в виду:

<ul>
    <li>I want this
        <ul>
            <li>I don't want this</li>
            <li>I don't want this</li>
            <li>I don't want this</li>
        </ul>
    </li>
    <li>I want this</li>
    <li>I want this</li>
</ul>

1 Ответ

84 голосов
/ 07 декабря 2011

Вот так:

my_root_ul.find('> li');

.children() также выбирает только непосредственных потомков, поэтому вы также можете использовать это:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...