How to get the children of the $(this) selector? – Dev

The best answers to the question “How to get the children of the $(this) selector?” in the category Dev.

QUESTION:

I have a layout similar to this:

<div id="https://stackoverflow.com/questions/306583/..."><img src="https://stackoverflow.com/questions/306583/..."></div>

and would like to use a jQuery selector to select the child img inside the div on click.

To get the div, I’ve got this selector:

$(this)

How can I get the child img using a selector?

ANSWER:

You could also use

$(this).find('img');

which would return all imgs that are descendants of the div

ANSWER:

The jQuery constructor accepts a 2nd parameter called context which can be used to override the context of the selection.

jQuery("img", this);

Which is the same as using .find() like this:

jQuery(this).find("img");

If the imgs you desire are only direct descendants of the clicked element, you can also use .children():

jQuery(this).children("img");

ANSWER:

If your DIV tag is immediately followed by the IMG tag, you can also use:

$(this).next();

ANSWER:

If you need to get the first img that’s down exactly one level, you can do

$(this).children("img:first")