Jquery 悬停不工作时的双层下拉菜单

Jquery 悬停不工作时的双层下拉菜单,jquery,html,css,drop-down-menu,jsfiddle,Jquery,Html,Css,Drop Down Menu,Jsfiddle,其中有代码。。。我的问题是,一级下拉菜单工作,但二级下拉菜单不工作。。。当我将光标从元素上移开并移到菜单中的第二项时,它不会消失 怎么了?我的HTML如下所示 <div id="menu"> <ul class="topnav"> <li><a href="#">Live-Radio</a></li> <li><a href="#">Blog</a>

其中有代码。。。我的问题是,一级下拉菜单工作,但二级下拉菜单不工作。。。当我将光标从元素上移开并移到菜单中的第二项时,它不会消失

怎么了?我的HTML如下所示

<div id="menu">
    <ul class="topnav">
        <li><a href="#">Live-Radio</a></li>
        <li><a href="#">Blog</a></li>
        <li><a href="#">Profile</a></li>
        <li><a href="#">Home</a></li>
        <li>
            <a href="#">Songs</a>
            <ul class="subnav">
                <li>
                    <a href="#">Sub Nav Link</a>
                    <ul class="subnav2">
                        <li><a href="#">Sub21a</a></li>
                        <li><a href="#">Sub22a</a></li>
                    </ul>                 
                </li>
                <li><a href="#">Sub Nav Link</a></li>
            </ul>
        </li>
    </ul>
</div>

只需将具有
.subnav2
元素的
li
s作为子元素:

    $(this).parent().find("ul.subnav").find('li ul.subnav2').parent().hover(function() {
        $(this).children("ul.subnav2").slideDown('fast').show(); //Drop down the subnav2 on hover
    } , function () {
        $(this).children("ul.subnav2").slideUp('fast'); //Drop down the subnav2 on hover
    });
演示:

另一方面,
.parent().find(…)
.sibbines(…)
相同。此外,如果删除标记名,选择器的执行速度也会更快(保留标记名的唯一原因是,如果您只需要选择某个标记类型,因为多个标记类型具有相同的类,或者您需要支持Internet Explorer 5.5)


ul.subnav
将更改为
.subnav

好的,我会调查一下。谢谢:)
    $(this).parent().find("ul.subnav").find('li ul.subnav2').parent().hover(function() {
        $(this).children("ul.subnav2").slideDown('fast').show(); //Drop down the subnav2 on hover
    } , function () {
        $(this).children("ul.subnav2").slideUp('fast'); //Drop down the subnav2 on hover
    });