添加基于URL的类 - 不在主页上工作?

时间:2013-09-28 06:38:21

标签: javascript jquery

我有以下脚本,根据URL为我的导航添加一个类。

var path = location.pathname.substring(1);
if (path) { 
    //Main NAV
    $('nav a[href$="' + path + '"]').parent().addClass('active');
    //Dropdown
    $('nav ul ul a[href$="' + path + '"]').parents(':eq(2)').addClass('active');
    //Side NAV
    $('aside li a[href$="' + path + '"]').parent().addClass('active');
};

它适用于除主页之外的所有页面。我如何调整它以适应主页?

HTML:

<ul class="left">
  <li><a href="/">Home</a></li>
    <li class="divider"></li>
  <li><a href="/about">About</a></li>
    <li class="divider"></li>
  <!-- MORE NAV -->
</ul>

1 个答案:

答案 0 :(得分:0)

我认为这应该可以解决问题:

var path = location.pathname.substring(1);
if (path) { 
    if(path == "") {
       path = "/";
    }
    //Main NAV
    $('nav a[href$="' + path + '"]').parent().addClass('active');
    //Dropdown
    $('nav ul ul a[href$="' + path + '"]').parents(':eq(2)').addClass('active');
    //Side NAV
    $('aside li a[href$="' + path + '"]').parent().addClass('active');
};