Descendants directs uniquement avec du jQuery find()
Est-il possible de ne sélectionner que les descendants directs d'un élément à l'aide de jQuery find()
ou children()
fonctions?
J'ai plusieurs ul
éléments, les uns avec les autres ul
éléments à l'intérieur d'eux, et certains racine li
éléments de trop. - Je stocker un parent spécifique ul
dans une variable (comme un objet jQuery), puis recherchez la racine li
éléments au sein de l'aide: my_root_ul.find('li');
.
Cependant, cette méthode trouve également tout li
qui appartient à la ul
à l'intérieur de la ul
, si cela fait sens.
Ma question est, comment puis-je sélectionner uniquement les descendants directs de type li
dans le my_root_ul
objet à l'aide de find()
. Normalement, on pourrait utiliser quelque chose comme $('ul > li')
de retour direct li
éléments, mais il doit être possible de filtrer les éléments retournés?
Voici un exemple pour démontrer ce que je veux dire:
<ul>
<li>I want this
<ul>
<li>I don't want this</li>
<li>I don't want this</li>
<li>I don't want this</li>
</ul>
</li>
<li>I want this</li>
<li>I want this</li>
</ul>
- Voulez-vous
my_root_ul.children("li")
? - Vous avez déjà trouvé
children()
, qui devrait être le droit de la fonction.
Vous devez vous connecter pour publier un commentaire.
Comme ceci:
.children()
aussi ne sélectionne que les enfants immédiats, donc vous pouvez l'utiliser aussi:>
.my_root_ul.childNodes
peut-être?my_root_ul
est un jQuery collection, pas un objet DOM.children
appel-le uniquement valide descendants immédiats deul
éléments sontli
éléments.