Javascript 将类添加到菜单Jquery

Javascript 将类添加到菜单Jquery,javascript,jquery,html,css,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>&l

我正在尝试将一个类动态地添加到我网站上的菜单中,如下所示

<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>
然而,我似乎错过了一些东西,因为在html中没有任何东西显示为向链接添加类。我是否忽略了链接不是mini nav类的直接子级这一事实?如果是这样,我该如何解决这个问题?

您能试试这个吗:

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);
    });
});

你能创建JSFIDLE并解释你的问题吗?对不起,输入错误。。这是迷你菜单。。修复了console.log()是否返回正确的字符串?不,可能是措辞错误,我正在尝试检查变量active是否等于锚标记中的href链接。如果这是真的,addclass“active”应该可以正常工作,顺便说一句,您不需要使用.each()来查找具有正确href的链接元素。您可以使用属性选择器
jQuery('.mini-menu a[href=“'+active+''“]”)。addClass('active')谢谢。这就是我要找的。我现在加了一个班:)我会接受的,因为“每个”。当您使用“each”并且希望更改某些内容时:创建一个函数,就像我复制当前变量时所做的那样。如果不这样做,“this”将始终等于您尝试更改某些内容时的最后一个元素。
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);
    });
});