Javascript 单击链接时隐藏第二层下拉列表-jQuery

Javascript 单击链接时隐藏第二层下拉列表-jQuery,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个简单的手风琴菜单: 当我单击下拉列表1时,您将看到下拉列表以及测试1和测试2下面的链接。 但是,Test几乎立即消失。如何阻止这种情况发生,并在单击下拉列表1时始终显示测试1和测试2 换句话说,.sub-menu.sub-menu是隐藏的 谢谢你的帮助 $(文档).ready(函数($){ var$toggles=$('.inline')。查找('.navtoggles')。单击(函数(){ $toggles.not(this.removeClass('selected')) //展开

我有一个简单的手风琴菜单:

当我单击
下拉列表1
时,您将看到
下拉列表以及
测试1
测试2
下面的链接。 但是,
Test
几乎立即消失。如何阻止这种情况发生,并在单击
下拉列表1
时始终显示
测试1
测试2

换句话说,
.sub-menu.sub-menu
是隐藏的

谢谢你的帮助

$(文档).ready(函数($){
var$toggles=$('.inline')。查找('.navtoggles')。单击(函数(){
$toggles.not(this.removeClass('selected'))
//展开或折叠此面板
$(this).toggleClass('selected').next().slideToggle('fast');
//隐藏其他面板
$(“.sub-menu”).not($(this.next()).slideUp('fast');
});
});
。手风琴切换{
光标:指针;
}
.子菜单{
显示:无;
}
.子菜单.子菜单{
显示:块;
}
.选定{
背景色:红色;
}

评论如下:

//$(".sub-menu").not($(this).next()).slideUp('fast');

你可以把最后一行改成这个

$(".sub-menu").not($(this).parent().find('.sub-menu')).slideUp('fast');

这将获得
a
标记的父
li
。并确保其中没有显示任何
。子菜单
元素。但它仍然会隐藏其他
li
s中的任何子菜单,我想这就是我的意图。

太棒了!如果单击
下拉列表1
,然后单击
下拉列表2
,是否应关闭
下拉列表1
?我该怎么做呢?