How to write a jQuery selector with multiple :eq's in single expression?

I have a quick question. How do I write a jQuery selector expression with multiple :eq() selectors? I want to go down the DOM tree but every hope isn't uniform. Here is what I have that works:

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

But is the following does not work:

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

Is there a more elegant way to write it without all the "find"'s?

Answers:

Answer

I believe that you could do the following and it should return all dom elements that match:

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

You could then iterate over the results returned, hope this helps.

Answer

Using an each loop - elegant and not repetitive:

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

Last I checked, this technique performs best:

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

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.