根据URL添加活动的Menu或Navigation类

时间:2020-04-13 18:30:44

标签: javascript html class menu

我已经在菜单项中添加了active类。但是,我目前的实现方式是将类添加到所有列表菜单项,而不是当前页面

请告知我当前的代码是否存在问题,以及如何才能实现所需的结果。

<ul id="menu_items">
 <li class="has-sub"><a href="/collections">STORE</a></li>
 <li><a href="/collections">RESEARCH</a></li>
 <li><a href="/collections">INFO</a></li>
</ul>

$(function(){
        var current = location.pathname;
        $('#menu_items li a').each(function(){
            var $this = $(this);
            // if the current path is like this link, make it active
            if($this.attr('href').indexOf(current) !== -1){
                $this.addClass('active');
            }
        })
    })  

.active {text-decoration:underline;}

2 个答案:

答案 0 :(得分:1)

好的,尝试这种方式,希望它能起作用

<ul id="menu_items">
<li><a href="#index">Index</a></li>
 <li class="has-sub"><a href="#store">STORE</a></li>
 <li><a href="#research">RESEARCH</a></li>
 <li><a href="#info">INFO</a></li>
</ul>
</html>

<Script>
 $("#menu_items li").bind("click", function(e){

 $("li").click(function() {
        $(this).siblings().find("a").removeClass("active");
        $(this).find("a").addClass("active")
    })
 })

</Script>

答案 1 :(得分:0)

请检查URL,所有链接均为“ / collections”

相关问题