2010-06-05 3 views
2

J'ai un menu principal:trouver tous les liens dans une liste avec une classe spécifique

<ul class="menu"> 
<li><a href="/"><span class="l"></span><span class="r"></span><span class="t">Home</span></a></li> 
<li><a href="<%= Url.Action("Login", "User")%>"><span class="l"></span><span class="r"></span><span class="t">My Account</span></a></li> 
<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Post Idea</span></a></li> 
<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Browse Ideas</span></a></li> 
<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Invest in Ideas</span></a></li> 

Et je suis en train de sélectionner le lien actif en utilisant jQuery:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var path = location.pathname; 
     var home = "/"; 
     $("a[href='" + [path || home] + "']").addClass("top-menuactive"); 
    }); 
</script> 

Cependant le javascript décrit ci-dessus trouve tous les liens sur le site, pas seulement les liens dans le menu.

Comment puis-je modifier le script pour sélectionner uniquement les liens dans <ul class="menu">

+0

Quoi de neuf avec les millions portées? –

Répondre

2

Vous pouvez utiliser le sélecteur descendant:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var path = location.pathname; 
     var home = "/"; 
     $("ul.menu a[href='" + [path || home] + "']").addClass("top-menuactive"); 
    }); 
</script> 
+0

thanx ... juste compris ... J'ai utilisé $ (". Menu a [href = '" + [chemin || home] + "']"). AddClass ("top-menuactive"); est le ul.menu important? –

+0

Pas vraiment, sauf si vous avez d'autres éléments avec la classe "menu". Je ne suis pas sûr que 'ul.menu' soit plus rapide, car je ne sais pas comment jQuery implémente' $() '. – MvanGeest

+0

kewl ... merci pour l'aide :) –

Questions connexes