Подтвердить что ты не робот

Прямые потомки только с помощью jQuery find()

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

У меня есть несколько элементов ul, каждый с другими элементами ul внутри них, а также некоторые элементы root 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>
4b9b3361

Ответ 1

Вот так:

my_root_ul.find('> li');

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

my_root_ul.children('li');