Как написать селектор jQuery с несколькими: eq в одном выражении?

У меня есть быстрый вопрос. Как написать выражение селектора jQuery с несколькими: eq() селекторами? Я хочу спуститься по дереву DOM, но каждая надежда не является единой. Вот что я делаю:

$('div:eq(0)').find('div:eq(1)').find('div:eq(5)')

Но не работает следующее:

$('div:eq(0) div:eq(1) div:eq(5)')

Есть ли более элегантный способ написать его без всех "находок"?

Ответы

Ответ 1

Я считаю, что вы можете сделать следующее, и он должен вернуть все элементы dom, которые соответствуют:

 $('div:eq(0), div:eq(1), div:eq(5)')

Затем вы можете перебрать полученные результаты, надеясь, что это поможет.

Ответ 2

Использование цикла each - элегантный и не повторяющийся:

$.each([0, 1, 5], (_, n) => {
    $('div').eq(n);
});

В последний раз я проверял, этот метод работает лучше всего:

$('div').filter(':eq(0), :eq(1), :eq(5)');