2009-06-02 8 views
9

Il semble que cela devrait être simple, mais j'ai du mal à comprendre comment construire un sélecteur qui ne renverra que des éléments qui sont un enfant direct d'un nœud racine.sélecteurs jquery - trouver un enfant du nœud racine

Si, par exemple, j'ai une référence à un div (myDiv), et je veux sélectionner uniquement les images qui sont des enfants directs de cette div, ce qui suit ne fonctionne pas:

jQuery("div > img", myDiv); 

Le "div" dans le sélecteur ne semble pas correspondre à la racine du contexte, seulement les descendants, et sans un sélecteur qui me donnera la racine, je ne peux pas utiliser ">". D'autres idées sur la façon de sélectionner un enfant direct d'une racine de contexte?

Répondre

16

Vous ne devriez pas répéter la balise div:

jQuery("> img",myDiv); 
+1

cool. Je pensais avoir essayé, mais je suppose que non. Ça semble fonctionner. Merci! – morgancodes

4

si mydiv est une référence à un objet jQuery

mydiv.children("img") 

autre

$(mydiv).children("img") 
jQuery(mydiv).children("img") 
0

Si vous ne souhaitez que des descendants directs , vous voulez children.

jQuery(myDiv).children('img') 

ou, si elle est un objet jquery ...

myDiv.children('img') 

ou, sinon, vous pouvez aussi le faire ...

jQuery('>img', myDiv)