2010-05-17 5 views
0

Je veux faire glisser le deuxième niveau ul lorsque je souris sur le premier niveau pertinent li.jQuery ne s'applique qu'à li li

Actuellement le script affiche tous les ul secondaires sur un survol de la souris.

<div id="subNav"> 
<ul> 
    <li>One</li> 
     <ul> 
      <li>SubOne</li> 
     </ul> 
    </li> 
    <li>Two</li> 
    <li> 
     <ul> 
      <li>SubTwo</li> 
     </ul> 
    </li> 
</ul> 
</div> 

Et voici mon jQuery

$("#sideNav ul li").hover(
     function(){ 
      $('#sideNav ul li ul').slideDown(); 
     }, 
     function(){ 
      $('#sideNav ul li ul').slideUp(); 
     } 
    ); 

Répondre

1

Vous devez cibler avec $(this) dans la fonction.

$("#subNav>ul>li").hover(
    function(){ 
     $(this).children('ul').slideDown(); 
    }, 
    function(){ 
     $(this).children('ul').slideUp(); 
    } 
); 

Remarque: Ce qui précède fonctionnera uniquement à partir de la racine ul. Je suppose que c'est ce que vous voulez faire.

0

essayer:

$(this).find('ul') 

Je n'ai pas testé.

HTH