2011-05-04 80 views
1

HTML:帮助使用jQuery菜单

<ul id="menu"> 
    <li>Menu 1</li> 
    <li>Menu 2 
     <ul> 
      <li class="submenu">something</li> 
     </ul> 
    </li> 
    <li>Menu 3</li> 
</ul> 

的jQuery:

$('#menu > li:has(.submenu)').hover(function() { 
    $(this).children('ul').show().addClass('active'); 
}, function() { 
    $(this).children('ul').hide().removeClass('active');  
}); 

http://jsfiddle.net/mXTzy/

现在,如果正在显示.submenu,我希望父li有类active(和删除在mouseout上)。

我很感激任何帮助。

非常感谢

+1

看起来还像家庭作业。 – Mantar 2011-05-04 13:08:34

回答

1

好了,想通:

$('#menu > li:has(.submenu)').hover(function() { 
    $(this).addClass('active').children('ul').show(); 
}, function() { 
    $(this).removeClass('active').children('ul').hide();  
}); 

..有点难看,但。

0

你是在找这个吗?

jsFiddle

$('#menu > li').hover(function() { 
 
    $(this).children('ul').show(); 
 
    $(this).addClass('active'); 
 
}, function() { 
 
    $(this).children('ul').hide(); 
 
    $(this).removeClass('active'); 
 
});
#meun li { float: left; } 
 
#menu li a { float; left; padding:10px; } 
 
#menu li ul { display: none; } 
 
#menu li.active { background:#dd0; }
<ul id="menu"> 
 
    <li>Menu 1</li> 
 
    <li>Menu 2 
 
     <ul> 
 
      <li class="submenu">something</li> 
 
     </ul> 
 
    </li> 
 
    <li>Menu 3</li> 
 
</ul>

+0

啊,刚刚那样做,谢谢。 :) – 3zzy 2011-05-04 13:14:13