2010-03-04 7 views
0

je le nav suivant:CSS basé sur l'élément enfant

<div id="nav"> 
<div id="subnav"> 
<li><a href="#">One</a></li> 
<li><a href="#">Two</a></li> 
</div> 
</div> 

Voici jQuery:

$('#subNav:not(:has(a))').css('background','none'); 

Alors #subNav's fond est 'none' lorsque son vide.

Je veux également définir $nav arrière-plan à 'none' à ce stade, une sorte de et ??? Comment puis-je faire cela dans cette même fonction?

Répondre

2

Utiliser .parent() Sélecteur.

$('#subNav:not(:has(a))').css('background','none').parent().css('background','none'); 
1
$('#subNav:not(:has(a))', '#nav').css('background','none'); 

Vous voulez dire que?

+0

Il veut définir l'arrière-plan '# nav' sur none uniquement lorsque le premier sélecteur correspond. Je suppose que votre sélecteur le fera à chaque fois, quel que soit le match. Corrigez-moi si je me trompe. –