在我的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 li
和nav.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
课程,但其中的超链接不会被取消。有谁知道可能会发生什么?