2

我对 jquery 和选择器有点困惑。

在这个网站http://pelloponisos.telesto.gr/我正在建立一个主菜单。我想要的只是使直接子菜单(主菜单中每个 li 的第二个子菜单)出现在鼠标悬停时并在鼠标悬停时隐藏。

使菜单在鼠标悬停时工作的 jquery 代码是:

$("#access ul li").mouseover(function(){
    $(this).find(':nth-child(2)').show();
    }).mouseout(function(){
        $(':nth-child(2)',this).hide();
    });

但正如您所看到的,代码匹配每个第二个孩子,从而一次展开所有子菜单。

有人可以指出我错过了什么吗?

4

2 回答 2

3

您可以尝试使用直接子选择器:

$(this).find('> :nth-child(2)').show();

或者:

$("#access ul li").hover(function(){
    $('> :nth-child(2)', this).toggle();
});
于 2012-12-13T19:29:08.510 回答
1

试试这样

$(this).children(":eq(1)").show()
于 2012-12-13T19:31:18.060 回答