javascriptjqueryjquery-selectors

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


I have a layout similar to this, and would like to use a jQuery selector to select the child img inside the div on click.

<div id="...">
  <img src="...">
</div>

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

$(this)

How can I get the child img using a selector?


Solution

  • 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");