2010-11-17 4 views
2

Ce que j'ai besoin d'ajouter une classe sur hover à l'étiquette avec un menu ci-dessous est le menu. Des idées?menu trouver un enfant de l'élément li avec jQuery

<ul id="nav">
<li><a href="">Home</a></li>
<li><a href="">Another</a>
<ul>
<li><a href="">Sub</a></li>
...

+0

Vous essayez ajouter la classe à l'étiquette d'ancrage ou à l'étiquette de menu principal? Et ne faites-vous cela que lorsque vous survolez un élément du sous-menu? –

Répondre

1

Vous pouvez y parvenir sans jQuery en utilisant des classes de Psuedo css. Tous les éléments en html gagnent une classe psuedo de: hover lorsque la souris les survole.

Pour les sélectionner dans CSS:

#nav li ul li:hover { 
    // Your style here. 
} 
+0

En gardant à l'esprit le refus d'IE (6, et * peut-être * 7) d'appliquer ': hover' sur des éléments non-' a'. –

3
$("#nav a").hover(
    function() { $(this).closest("a").addClass("current"); }, 
    function() { $(this).closest("a").removeClass("current"); } 
); 
+0

Je dois ajouter la classe à l'étiquette au lieu du parent ul? –

+0

Quelle étiquette? 'a' est une étiquette,' ul' est une étiquette, 'li' est une étiquette – hunter

+0

le parent ul> li> un tag –

0

Pourraient mais juste plus rapide à faire

$(document).ready(function() { 
    $('#nav a:hover').parents('div > ul > li:hover > a').addClass('current'); 
}); 
Questions connexes