Jquery 滑动切换:通过单击子链接隐藏父级

Jquery 滑动切换:通过单击子链接隐藏父级,jquery,slidetoggle,Jquery,Slidetoggle,我有一个,我想通过单击手柄链接打开和关闭来显示它。我还想在单击其中一个子链接时关闭。在手柄链接和子项上使用滑动切换无效。句柄链接工作正常,但当您单击子链接时,将折叠并重新打开 j发生了什么事: 提前谢谢 问题是类pull有两个元素 一种可能的解决方案是使用不同的选择器: jQuery("a.pull").click(function() { $("nav.mobile-navigation").slideToggle("fast"); }); 演示:您的元素也具有类pull,因此单击

我有一个
,我想通过单击手柄链接打开和关闭来显示它。我还想在单击其中一个子链接时关闭
。在手柄链接和子项上使用
滑动切换
无效。句柄链接工作正常,但当您单击子链接时,
将折叠并重新打开

j发生了什么事:


提前谢谢

问题是类
pull
有两个元素

一种可能的解决方案是使用不同的选择器:

jQuery("a.pull").click(function() {
    $("nav.mobile-navigation").slideToggle("fast");
});

演示:

您的
元素也具有类
pull
,因此单击其中一个链接也会触发
单击事件处理程序,以再次切换元素

您需要停止事件从
中的链接传播,这样就不会发生这种情况

jQuery("ul.pull li a").click(function(e) {
    e.stopPropagation();
    $("nav.mobile-navigation").slideUp("fast");
});

问题是,您在ul和链接中使用相同的类来打开它,因此每当您单击子链接时,它都会执行这两个操作

如果您从ul标签中删除该类,它应该可以工作


您已经为
    和句柄提供了相同的CSS类(
    .pull
    )。因此,单击项也会注册为单击
    .pull
    处理程序。正确的答案是: