menu使用jQuery查找li元素的子元素

时间:2010-11-17 19:34:31

标签: javascript jquery menu

我需要在下面的菜单中添加一个班级悬停到标签上的菜单。有什么想法吗?

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

$("#nav li ul li a").hover(
    function() {
         $(this).parent().parent().parent().addClass('current');

    },
    function() {
        $(this).parent().parent().parent().removeClass('current');      
        //alert();          
    }
);

4 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

您可以通过使用css伪类在没有jQuery的情况下实现此目的。 html中的所有元素都获得了一个伪类:当鼠标悬停在它们之上时悬停。

在CSS中选择它们:

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

答案 2 :(得分:0)

这个方法是你需要的http://api.jquery.com/closest/上帝保佑jQuery

答案 3 :(得分:0)

可能会更快做到这一点

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