jQuery-仅显示当前ul(使用标签作为单击而不是li';s)

jQuery-仅显示当前ul(使用标签作为单击而不是li';s),jquery,navigation,toggle,html-lists,children,Jquery,Navigation,Toggle,Html Lists,Children,我试图在下面的导航中显示/隐藏子ul的。在Aleksi Yrttiaho的帮助下,我成功地让它工作了 然后我意识到我没有在JSFIDLE中将列表项编码为链接,一旦我的函数坏了,有人能帮我让它重新工作吗 是正确的标记,但功能不起作用 (基本上是前置标签),您可以看到它在工作 所以唯一的区别是我希望函数在点击链接时运行,而不是点击li 非常感谢,, 红色试试这个 $("nav li").find("ul").hide().end().find("a") // hide all other ul's

我试图在下面的导航中显示/隐藏子
ul的
。在Aleksi Yrttiaho的帮助下,我成功地让它工作了

然后我意识到我没有在JSFIDLE中将列表项编码为链接,一旦我的函数坏了,有人能帮我让它重新工作吗

是正确的标记,但功能不起作用

(基本上是前置标签),您可以看到它在工作

所以唯一的区别是我希望函数在点击链接时运行,而不是点击li

非常感谢,, 红色

试试这个

$("nav li").find("ul").hide().end().find("a")
// hide all other ul's in the nav
.click(function(e) {
    $(this).parent().siblings().find('ul').fadeOut('fast');
    $(this).parent().children('ul').delay(200).fadeToggle('fast');
});

在标记中,应将所有li的内部
nav
封装在
ul
标签中。因为李的标签应该总是在
ul
标签内。您的选择器也是
nav ul li
,它将在
nav
中查找
ul
标签,这就是它没有按预期工作的原因

看看这个工作演示,我已经修复了它