Javascript 在jQuery手风琴样式菜单中切换子项可见性

Javascript 在jQuery手风琴样式菜单中切换子项可见性,javascript,jquery,menu,accordion,Javascript,Jquery,Menu,Accordion,我有一个简单的手风琴式菜单,可以在jQuery的帮助下打开/关闭其子菜单: 如果我单击菜单项,一切正常-显示选定项的子项,而隐藏所有其他不必要的子项。但是,我希望能够根据传递的某个变量(id)打开菜单树 所以,在这个JSFIDLE中,我创建了手动链接(在右侧),它应该在菜单中显示相应的项(展开所有父项)并隐藏所有其他项。当我点击手动链接时,我设法只切换第一级的孩子,但是当我点击第四级链接(在我的例子中是第11类)时,什么都没有发生。我要做的是展开选定项的所有父项,并折叠树路径中不在选定子项中的所

我有一个简单的手风琴式菜单,可以在jQuery的帮助下打开/关闭其子菜单:

如果我单击菜单项,一切正常-显示选定项的子项,而隐藏所有其他不必要的子项。但是,我希望能够根据传递的某个变量(
id
)打开菜单树

所以,在这个JSFIDLE中,我创建了手动链接(在右侧),它应该在菜单中显示相应的项(展开所有父项)并隐藏所有其他项。当我点击手动链接时,我设法只切换第一级的孩子,但是当我点击第四级链接(在我的例子中是第11类)时,什么都没有发生。我要做的是展开选定项的所有父项,并折叠树路径中不在选定子项中的所有其他父项

谢谢你的帮助。

我想这正是你想要的


我没有测试过比您最初的fiddle更多的级别,但我认为所有父元素、兄弟元素和“兄弟”元素都会根据用户单击的内容进行计算和适当切换。

这是否符合要求?嗯,基本上是这样,这确实是正确的方法:)我看到当点击
切换cat 11
时,所有家长都会正确展开,尽管有些孩子有时不会崩溃,例如尝试点击
切换cat 1
,然后点击
切换cat 11
<代码>类别1应折叠。单击
切换cat 5
切换cat 6
切换cat 11
时也是如此。在这种情况下,
cat 6
应该崩溃。非常感谢您的努力,非常接近!我将尝试检查这里发生的情况,看看是否能够对其进行更多的调整:)如何?更好:)我正在尝试使用您以前的版本并实现它,并且注意到当选择了
cat1
时,父元素(在我的例子中是一堆文本)将替换为
+
符号。我将尝试实现最后一个版本,但这似乎非常接近:)再次感谢!你能不能把这个作为答复发出去,这样我就可以接受了?基本上,你确实发布了一个正确的解决方案,我设法处理了我的其他“问题”:)谢谢!