jquery控制的多级html菜单

jquery控制的多级html菜单,jquery,html,Jquery,Html,我面临一个多级菜单的问题。我需要jQuery显示或隐藏当前选定的子菜单,并保持其他子菜单不变。我对JQuery还不是很熟练,所以非常感谢您的帮助。我在这里和你分享我所拥有的。提前谢谢 我想提到的是,我发现了一个关于StackOverflow的示例,该示例部分有效。经过一些调试后,我意识到var mobileMenu.css返回undefined,这使得代码有时可以工作 var test1=$('ul.hdrMenu li'); test1.on('click',函数(e) { var m

我面临一个多级菜单的问题。我需要jQuery显示或隐藏当前选定的子菜单,并保持其他子菜单不变。我对JQuery还不是很熟练,所以非常感谢您的帮助。我在这里和你分享我所拥有的。提前谢谢

我想提到的是,我发现了一个关于StackOverflow的示例,该示例部分有效。经过一些调试后,我意识到
var mobileMenu.css
返回
undefined
,这使得代码有时可以工作

var test1=$('ul.hdrMenu li');
test1.on('click',函数(e)
{   
var mobileMenuItem=$(e.target.parent().find('>ul.sub-menu');
如果(**typeof mobileNuitem.css('display')==“undefined”**)
{
mobileMenuItem=$(e.target).parent().parent().find('>ul.sub菜单');
}
如果(mobileMoneUITEM.css('display')=='none')
{
e、 预防默认值();
mobileMuitem.slideDown();
e、 停止传播();
} 
else if(mobileMenuItem.css('display')=='block')
{
e、 预防默认值();
mobileenuitem.slideUp();
e、 停止传播();
}
});


代码工作正常,我认为您只需删除父选择器
。hdrNav
它必须如下所示:

var test1 = $('ul.hdrMenu li');
或者您可以保留选择器的原样,并使用类
hdrNav
添加父div

var test1=$('ul.hdrMenu li');
test1.on('click',函数(e){
var mobileMenu=$(e.target.parent().find('>ul.sub-menu');
if(mobileMenu.css('display')=='none'){
e、 预防默认值();
mobileMenu.slideDown();
e、 停止传播();
}else if(mobileMenu.css('display')=='block'){
e、 预防默认值();
mobileemu.slideUp();
e、 停止传播();
}
});


您的示例中没有
.hdrNav
元素。您是对的,此代码工作正常。。。。我很感激你花了这么多时间看它。我调试的真实代码包含一个箭头图标。因此,当我单击箭头而不是标签本身时,代码无法找到隐藏/显示子菜单的正确父菜单。这是最终的jQuery代码。再次感谢你的回馈。