0

如果父菜单下有子菜单,我在 wordpress 上使用的主题之一使用切换菜单。

这是当前的js代码

    var navItemDropdown = $('#nav li .dropdown');
navItemDropdown.each(function(){
    thisDropdown = $(this);
    $(this).parent().prepend('<span class="sub-nav-toggle"></span>');
});

$('body').on('click','.sub-nav-toggle',function(event){

    $(this).parents('li').toggleClass('active');
    thisDropdown = $(this).parents('li').find('.dropdown');
    thisDropdown.slideToggle('fast');
    return false;

});

<span class="sub-nav-toggle"></span>如果有子菜单,则会添加它。

有子菜单的菜单代码变成了这样

    <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-22"><span class="sub-nav-toggle"></span><a href="#">About Us</a>
<section class="dropdown"><ul>
    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-26"><a href="page_id=6">Who we are</a></li>
    <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-25"><a href="page_id=7">Our Vision</a></li>
</ul></section>
</li>

我想要实现的不是注入<span class="sub-nav-toggle"></span>,而是在 a href 标记内插入 class="sub-nav-toggle" 。这意味着<a>标签会变成这样

<a class="sub-nav-toggle" href="#">About Us</a>

有一种方法可以通过 Wordpress 菜单为菜单添加类,但它只是在<li>标签内添加类而不是<a>标签,所以它不起作用,不能这样做。

请帮帮我。谢谢你。

4

1 回答 1

2

我认为你需要改变这一点:

$(this).parent().prepend('<span class="sub-nav-toggle"></span>');

对此:

$(this).prev().addClass('sub-nav-toggle');
于 2013-11-05T07:20:36.487 回答