2010-04-30 10 views
2
<div id="myDIV"> 
<div> 
    <span> 
    <a href="#">Seek me!</a> 
    </span> 
</div> 
</div> 

Comment puis-je trouver Une étiquette avec le sélecteur jQuery (pas en boucle à travers les enfants()) Si je ne connais que myDiv id.Traversant au dernier élément enfant dans un arbre avec le sélecteur jQuery

Eh bien, cela semble vraiment un peu gênant. Par exemple, j'ai cliqué sur #myDIV et j'ai besoin d'obtenir le texte de la dernière balise enfant. Il pourrait A, span, div, p, peu importe. Aussi myDIV ne pouvait même pas avoir d'éléments enfants.

Excusez-moi mon anglais

+0

Et s'il y en a 2 à la même profondeur? –

+0

@Nick Craver probablement le toujours un seul – dr3w

Répondre

3

Comme ceci:

$("#myDIV :not(:has(*))") 

Ce trouvera tous les derniers éléments "feuilles", vous pouvez restreindre seulement <a>, etc si vous voulait. Pour votre balisage:

$("#myDIV :not(:has(*))").text() // "Seek me!" 
$("#myDIV :not(:has(*))").length // 1 

:empty ne fonctionne pas ici (parce qu'il a un nœud texte enfant), mais trouver des choses sans éléments enfants, here's an example page showing this.

+0

@downvoter - Éclairez-nous sur une meilleure méthode? Voyant que toutes les autres réponses ne fonctionnent pas, je trouve intéressant que vous votiez pour la seule réponse. –

+0

@Nick: Je vais l'égaliser pour vous :-) J'ai dû relire la question à quelques reprises, cependant. –

+0

comment puis-je ajuster votre code si j'utilise $ (this) pour définir l'élément cliqué? merci – dr3w

-1

Il est juste $('#myLink')

Questions connexes