Sélectionnez la plus profonde de l'enfant en jQuery
Est-il une méthode peu coûteuse pour sélectionner la plus profonde de l'enfant d'un élément ?
Exemple:
<div id="SearchHere">
<div>
<div>
<div></div>
</div>
</div>
<div></div>
<div>
<div>
<div>
<div id="selectThis"></div>
</div>
</div>
</div>
<div>
<div></div>
</div>
</div>
- Pas une critique, mais je suis fasciné par pourquoi vous voulez?
- Pour tous ceux qui sont à la recherche de ce à travers les moteurs de recherche, j'ai mis à jour l'essentiel de jonathan avec la version améliorée de patrick dw. Également élargi les instructions un peu. Vous pouvez le trouver ici: jQuery plus profond plugin gist
Vous devez vous connecter pour publier un commentaire.
EDIT: C'est probablement une meilleure approche que ma réponse originale à cette question:
Exemple: http://jsfiddle.net/patrick_dw/xN6d5/5/
ou ce qui est même un peu plus court:
Exemple: http://jsfiddle.net/patrick_dw/xN6d5/6/
Réponse originale à cette question:
Cela semble fonctionner:
Exemple: http://jsfiddle.net/xN6d5/4/
Si vous savez que le plus profond sera un certain tag (ou autre chose), vous pouvez l'accélérer en remplacement de
.find('*')
avec.find('div')
par exemple.EDIT: mis à Jour pour seulement vérifier la longueur si l'élément en cours n' pas ont un
firstChild
ou si il le fait, que la firstChild n'est pas un type de noeud 1..end()
méthode. Voir sur CodePen, JSFiddle, RésuméVoici une légère amélioration sur la réponse de @user113716, cette version gère le cas quand il n'y a pas d'enfants et renvoie la cible elle-même.
Je ne pense pas que vous pouvez le faire directement, mais vous pouvez essayer
Ce chainable one-liner qui a travaillé pour moi, mais il suppose qu'il existe une seule feuille nœud dans la hiérarchie ci-dessous.
Version afin d'obtenir le plus profond, pour chaque feuille.
http://jsfiddle.net/ncppk0zw/14/
Cela permettra de trouver le plus profond de l'élément de type "param" sur la page. Utile si vous êtes à la recherche pour le plus profond , ou quoi que ce soit.