Jquery 下拉菜单中的无限级别

Jquery 下拉菜单中的无限级别,jquery,html,css,drop-down-menu,Jquery,Html,Css,Drop Down Menu,我有一个生成的无序列表,其中有一个列表,我想把它做成一个下拉菜单 问题是我不知道会有多少关卡,我只想一次显示一个关卡 到目前为止,我得到了这个: HTML: <ul class="nav"> <li> <a href="#">link1</a> </li> <li> <a href="#">link2</a> <ul>

我有一个生成的无序列表,其中有一个列表,我想把它做成一个下拉菜单

问题是我不知道会有多少关卡,我只想一次显示一个关卡

到目前为止,我得到了这个:


HTML:

<ul class="nav">
    <li>
        <a href="#">link1</a>
    </li>
    <li>
        <a href="#">link2</a>
        <ul>
            <li>
                <a href="#">link2.1</a>
                <ul>
                    <li>
                       <a href="#">link2.1</a>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
.nav ul {
}
.nav li ul {
    display: none;
}
.nav ul li a {
    display: block;
}
.nav li:hover ul { 
    display: block; 
}

然而,当悬停在顶部时,该代码显示所有子ul。我只想显示下一层,并在下一层隐藏子层。等等但仍显示以上级别。

.nav ul {
}
.nav li ul {
    display: none;
}
.nav ul li a {
    display: block;
}
.nav li:hover>ul { //change here
    display: block; 
}

不要显示悬停的所有
ul
子项,而只显示直接子项。

@MichaelTotKorsgaard-很高兴提供帮助:)