我有以下主菜单:

<div id="smoothmenu" class="ddsmoothmenu">
    <ul id="nav">
        <li><a href="/Home">Home</a></li>
        <li><a href="/About">About</a> </li>
        <li><a href="/Features">Features</a></li>
        <li><a href="/Contact">Contact</a></li>
        <li><a href="/Support">Support</a></li>
    </ul>
 </div>


单击链接后,我想向链接添加一个“选定”的CSS类,并从中的所有其他链接中删除CSS类。这是为了标记用户单击以打开的页面。

也许可以通过以下方式实现:在页面加载时jquery读取当前路径,并将css类添加到相应的菜单链接标记中?

谢谢

最佳答案

CSS-Tricks Snippet

假设您有这样的导航:

<nav>
    <ul>
        <li><a href="/">Home</a></li>
        <li><a href="/about/">About</a></li>
        <li><a href="/clients/">Clients</a></li>
        <li><a href="/contact/">Contact Us</a></li>
    </ul>
</nav>


并且您位于URL:

http://yoursite.com/about/team/

并且您希望About链接获得“活动”类,以便您可以直观地表明它是活动导航

$(function() {
  $('nav a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active');
});


从本质上讲,它将匹配nav的href属性以“ / about”(或任何辅助目录为准)开头的链接。

Further reading...

关于jquery - jQuery的链接的CSS类的变化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19272329/

10-11 08:15
查看更多