如何切换包含子项的无序列表项?

时间:2016-04-30 15:06:49

标签: jquery

在我的Wordpress主题中,我有一个多级移动导航菜单。 我刚刚为所有父列表项添加了跨度,点击后,它们作为按钮在我的子菜单上切换.open类。

我使用下面的jQuery代码完成了这个:

$('<span class="submenu-button">+</span>').insertBefore('nav.main-menu#mobile ul li:not(.hide-mobile) ul').parent('li');

然后我使用以下代码使这些span按钮以列表项中的下一个子项为目标,并通过应用.open类打开子菜单。

$('.submenu-button').click(function() {
    $(this).next().toggleClass('open').find('nav.main-menu#mobile ul ul li').toggleClass('open');

我能解决的是如何使用这个jQuery来定位子菜单的子节点。例如,代码目前仅影响nav.main-menu#mobile ul ul,而我还希望它将.open类应用于nav.main-menu#mobile ul ul linav.main-menu#mobile ul ul li a

我尝试使用.find选择器在上面的第二个代码中执行此操作,但它让我无处可去。我也尝试将.next更改为.nextAll,但这也无效。

https://jsfiddle.net/8nj5y4t1/13/

更新:

我设法编辑了这个,但似乎部分正常工作。

我将.find规则替换为.children,所以现在代码如下:

$('.submenu-button').click(function() {
    $(this).next().toggleClass('open').children().toggleClass('open');

子菜单的列表项目现在正在进行.open课程,但其中的超链接不会被取消。有谁知道可能会发生什么?

0 个答案:

没有答案