Reputation: 25265
It seems that this should be simple, but I'm having trouble figuring out how to construct a selector that will return only elements that are a direct child of a root node.
If, for example, I have a reference to a div (myDiv), and I want to select only images that are direct children of that div, the following doesn't work:
jQuery("div > img", myDiv);
The "div" in the selector doesn't seem to match the root of the context, only descendants, and without a selector that will give me the root, I can't use ">". Any other ideas on how to select a direct child of a context root?
Upvotes: 9
Views: 7927
Reputation: 41381
If you want only direct descendents, you want children.
jQuery(myDiv).children('img')
or, if it's a jquery object...
myDiv.children('img')
or, if not, you can also do...
jQuery('>img', myDiv)
Upvotes: 0
Reputation: 114916
if mydiv is a reference to a jQuery object
mydiv.children("img")
else
$(mydiv).children("img")
jQuery(mydiv).children("img")
Upvotes: 4
Reputation: 171864
You shouldn't repeat the div tag:
jQuery("> img",myDiv);
Upvotes: 16