如何将活动状态类动态更改(添加)到导航链接

Nis*_*dru 3 javascript php jquery

嗨,我正在尝试创建一个投资组合网站.为了不必为每个页面重新创建标题,我决定使用PHP include函数添加它.我现在唯一的问题是,当我单击链接导航到另一个页面时,活动链接不会分别更改.
包含的HTML

<ul id="main-menu">
     <li><a href="index.php" class="active">home</a></li>
     <li><a href="about.php">about us</a></li>
     <li><a href="portfolio.php">portfolio</a></li>
     <li><a href="contact.php">contact</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

 $(document).ready(function(){
    var $menu = $("ul#main-menu li a");                
    $menu.click(function(){
        $menu.each(function(){
            $(this).removeClass("active");
        });
        $(this).addClass("active");                  
    });
 });
Run Code Online (Sandbox Code Playgroud)

我知道问题是每次页面加载时 - 它会将活动的类重置为第一个链接.我不知道的是:如何动态地将活动类添加到页面匹配链接?

Eng*_*eer 6

你需要这个:

  $(document).ready(function(){
        var i = document.location.href.lastIndexOf("/");
        var currentPHP = document.location.href.substr(i+1);
        $("ul#main-menu li a").removeClass('active');
        $("ul#main-menu li a[href^='"+currentPHP+"']").addClass('active');
  });
Run Code Online (Sandbox Code Playgroud)