Addclass到菜单Jquery

时间:2014-10-14 13:02:53

标签: javascript jquery html css

我正在尝试动态地将一个类添加到我的网站上的菜单中,该菜单按照以下方式构建。

<nav>
    <ul id="" class="mini-menu">
        <li><a href="home">Home</a></li>
        <li><a href="over-jellyfish">Over Jellyfish</a></li>
        <li><a href="blog">Blog</a></li>
        <li class="contact"><a href="contact">Contact</a></li>
    </ul>
    <ul class="hoofd-menu">
        <li class="websites"><a id="dekstop_menu" href="websites"><i class="fa fa-desktop text-center"></i>Websites</a></li>
        <li class="support"><a id="support_menu" href="support"><i class="fa fa-comment-o text-center"></i>Support</a></li>
    </ul>
</nav>

使用Jquery我是通过执行以下步骤来尝试将活动类添加到迷你菜单中。

jQuery(function() {
    var str = window.location.pathname;
    var page = str.split("/");
    p=page[2];
    var active = p=page[2];
    console.log(active);  

    jQuery('.mini-menu a').each(function() {
        if (jQuery(this).attr('href')  ===  active) {
            jQuery(this).addClass('active');
        }
    });
}); 

然而我似乎在这里错过了一些东西,因为在html中没有显示为链接添加类。我错过了链接不是迷你导航类的直接孩子的事实吗?如果是这样,我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

jQuery(function() {
    var str = window.location.pathname;
    var page = str.split("/");
    p=page[2];
    var active = p=page[2];
    console.log(active);  

    jQuery('.mini-menu a').each(function() {
        (function (self) {
        if (jQuery(self).attr('href')  ===  active) {
            jQuery(self).addClass('active');
        }
        })(this);
    });
});