2010-07-08 4 views
4

Je suis en train de faire quelque chose comme ce qui suit dans jQueryRechercher classe à l'intérieur de classe avec des sélecteurs jQuery

$('.container').siblings('.outerClass > .innerClass')

où je cherche:

<div class="container"></div> 

<div class="outerClass"> 
    <div class="innerClass"> 
     find me! 
    </div> 
</div> 

Je ne peux pas obtenir la syntaxe droite.

+0

'.innerClass' est frères et soeurs ne pas la' .container' c'est pourquoi ça échoue .. La réponse de Félix Kling devrait vous couvrir. –

Répondre

8

Et un autre (mais cela devrait fonctionner) (supposant que vous voulez obtenir l'élément avec la classe innerClass):

$('.container').siblings('.outerClass').children('.innerClass') 
0

Y at-il un problème omettant le sélecteur de conteneur, et juste en utilisant

$('.outerClass > .innerClass') 

ou peut-être (si vous ne voulez pas exiger la div intérieure d'être un enfant direct)

$('.outerClass .innerClass') 
+0

ouais j'ai besoin de la partie frères et soeurs de conteneurs malheureusement. J'ai essayé les deux et je ne pense pas que ça a marché (sauf si j'ai fait une erreur en calculant le html). – fearofawhackplanet

+0

Cela ne fonctionne pas comme vous l'attendez – th3an0maly

0

Vous pouvez aussi le faire pour sélectionner directement les éléments requis

$(".outerClass").children(".innerClass").click(function() { 
//Do your stuff 
}); 
0
$('.container').siblings('.outerClass:has(> .innerClass)') 

Pour expliquer pourquoi; .outerClass > .innerClass est un sélecteur qui sélectionne un élément avec la classe innerClass, pas la classe externe. Pour sélectionner un élément qui contient des éléments spécifiques, utilisez le sélecteur :has, qui prend un sélecteur en tant qu'argument.

Questions connexes