这是我的HTML:
<ul class="menu menu-primary">
<li class="current has-children">
<a href="">Home</a>
<span class="menu-item-toggle">
<span></span>
</span>
<ul class="sub-menu">
<li class="current-children"><a href="" class="">Homepage-1</a></li>
<li class=""><a href="" class="">Home-2</a></li>
<li class=""><a href="" class="">Home-3</a></li>
</ul>
</li>
</ul>
现在,我要的是单击“菜单项切换”,将“菜单扩展”添加到相应的“ li.has-children”中,并从其他li中删除。
这里是我的脚本:
$('ul.menu li.has-children').each(function () {
var menuItem = $(this)
var menuToggle = $('<span class="menu-item-toggle"><span></span></span>')
menuToggle.insertAfter(menuItem.find('> a')).on('click', function () {
menuItem.toggleClass('menu-expand');
menuItem.nextAll().removeClass('menu-expand');
menuItem.prevAll().removeClass('menu-expand');
})
})
答案 0 :(得分:0)
尝试一下
$('ul.menu li.has-children').click(function () {
$('ul.menu li.has-children').each(function () {
$(this).removeClass('menu-expand');
});
$(this).addClass('menu-expand');
});
答案 1 :(得分:0)
您可以通过以下方式进行操作。
$('ul.menu li.has-children').each(function () {
var menuItem = $(this)
var menuToggle = $('<span class="menu-item-toggle"><span></span></span>')
$(this).removeClass('menu-expand');
menuToggle.insertAfter(menuItem.find('> a')).on('click', function () {
menuItem.toggleClass('menu-expand');
menuItem.nextAll().removeClass('menu-expand');
menuItem.prevAll().removeClass('menu-expand');
$(this).addClass('menu-expand');
})
})