单击jQuery或JavaScript菜单下拉菜单

单击jQuery或JavaScript菜单下拉菜单,javascript,jquery,html,css,Javascript,Jquery,Html,Css,现在,我正在尝试构建一个垂直菜单,它下面有一个下拉子菜单 下面是我的HTML和我正在使用的jQuery函数: $(函数(){ $('#menusomething>li')。单击(函数(e){ e、 停止传播(); 变量$el=$('ul',本); $('#menusomething>li>ul')。而不是($el).slideUp(); $el.stop(正确,正确)。滑动切换(400); }); $('menusomething>li>ul>li')。单击(函数(e){ e、 停止即时复制(

现在,我正在尝试构建一个垂直菜单,它下面有一个下拉子菜单

下面是我的HTML和我正在使用的jQuery函数:

$(函数(){
$('#menusomething>li')。单击(函数(e){
e、 停止传播();
变量$el=$('ul',本);
$('#menusomething>li>ul')。而不是($el).slideUp();
$el.stop(正确,正确)。滑动切换(400);
});
$('menusomething>li>ul>li')。单击(函数(e){
e、 停止即时复制();
});
});


为任何看到这一点的人找到了答案。首先必须将结束标记从章节移动到结尾。子菜单随后使用此项,现在它可以按需要工作

$(function() {
  $('#menusomething li > .submenu').parent().click(function() {
 var submenu = $(this).children('.submenu');
 if ( $(submenu).is(':hidden') ) {
 $(submenu).slideDown(400);
 } else {
 $(submenu).slideUp(400);
 }
});
});

以下代码实现了我相信您希望的功能:单击一个
元素,该元素是第一级
  • 元素的
    下一个同级
    。正如您在所需的注释中所述,由于将
    style=“display:none;”“
    添加到
    中,它现在开始关闭

    注意:从用户界面的角度来看,没有子菜单或链接的
  • 条目不应包含
    
    

  • 问题是什么?您的HTML没有任何匹配
    '#menusomething>li>ul'
    '#menusomething>li>ul>li'选择器的内容。具体地说,您没有属于
  • 元素的子元素的
    元素。因此,这两行都不会起任何作用。很抱歉,这里有新的内容!谢谢你的回答。。由于您的评论,我意识到如果我将结束标记从章节移动到子菜单后,它将修复我试图执行的操作。尽管我还有一个问题。这样,当您打开导航时,菜单将保持打开状态。如果子菜单开始关闭,然后单击打开,是否仍要执行此操作。现在它是打开的,然后单击关闭/打开