2010-01-26 5 views
2

Je fais glisser un point d'ancrage imbriqué lorsque l'on clique sur le parent pour la navigation d'un client, donc le lien parent est désactivé avec return false. Mais le retour faux désactive aussi les liens enfants, comment puis-je éviter cela? Je pensais queComment puis-je réactiver les liens imbriqués?

$("li.page_item a:first-child").click(function() { 

    //select it's direct sub ul 
    var subnav = $(this).next(); 
    //other subnavs 
    var navsibling = $(this).parent().siblings('li').children('ul'); 

    //hide siblings subnav 
    if (navsibling.is(":open")) { 
     navsibling.slideUp("slow"); 
    } 

    // check to see if sub is hidden, open if it is, close if it isn't 
    if (subnav.is(":hidden")) { 
     subnav.slideDown("slow"); 
    } else { 
     subnav.slideUp("slow"); 
    }  

    // stop the top level link from linking 
    return false;  

}); 

en utilisant un: premier enfant n'appliquer la fausse déclaration à ce un spécifique et pas de celui-ci est les enfants de frères et sœurs ... suggestions?

Edit: Il est une pages liste widget dans wordpress, essentiellement le balisage est la suivante:

<ul> 
    <li class="page_item"><a href="">Link</a> 
     <ul> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
     </ul> 
    </li> 
    <li class="page_item"><a href="">Link</a> 
     <ul> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
      <li><a href="">SubLink</a></li> 
     </ul> 
    </li> 
</ul> 
+0

peut être vous devriez nous montrer le code HTML de votre diapositive ul vers le bas pour meilleure compréhension du problème – poh

Répondre

2

essayer

$("li.page_item").children("a:first-child").click(function() { 
+1

Ou de manière équivalente, '$ ('li.page_item> a: first-child')' –

Questions connexes