使用 jquery 在导航菜单中突出显示父链接



我正在使用以下Jquery在我的导航中突出显示当前页面的链接。

// Add Active Class To Current Link
var url = window.location; // get current URL
$('#nav a[href="'+url+'"]').addClass('active');

我的导航如下所示:

<nav>
  <ul id="nav">
    <li><a href="">Home</a></li>
    <li><a href="">About Us<b class="caret"></b></a>
      <ul>
        <li><a href="">Sub Link 1</a></li>
        <li><a href="">Sub Link 2</a></li>
        <li><a href="">Sub Link 3</a></li>
      </ul>
    </li>
    <li><a href="">Products</a></li>
    <li><a href="">Contact</a></li>
  </ul>
</nav>

该导航具有"关于我们"部分的子导航。

我想让"关于我们"链接接收"活动"类,以便在我进入其子导航页面之一时保持突出显示。

例如,如果我在"子链接 2"页面上,则"关于我们"链接将获得一个活动类。

谁能在这里指出我正确的方向?

感谢您的帮助

尝试下面的代码,

// Add Active Class To Current Link
var url = window.location; // get current URL
$('#nav a[href="'+url+'"]').addClass('active');
var $activeUL = $('.active').closest('ul');
/*
Revise below condition that tests if .active is a submenu
*/
if($activeUL.attr('id') != 'nav') { //check if it is submenu
    $activeUL
        .parent() //This should return the li
        .children('a') //The childrens are <a> and <ul>
        .addClass('active'); //add class active to the a    
}

相关内容

  • 没有找到相关文章

最新更新