如何使用jquery为类添加活动链接

发布于 2024-10-13 00:10:14 字数 304 浏览 5 评论 0原文

我目前正在尝试制作一个导航菜单,其中活动类应用于具有与当前 url 匹配的 href 的锚点,我发现一些 jquery 可以完成工作,但是当我将鼠标从项目上移开时悬停即使我离开了活动页面,样式也会消失。

var path = location.pathname;
var home = "/";
$("a[href='" + [path || home] + "']").parents("li").each(function() {   
        $(this).addClass("current_page_item");
});

I am currently trying to make a navigation-menu where an active-class is applied to the anchors with hrefs that match the current url, I've found some jquery that gets the job done but on hover when I move the mouse off the item the style goes away even though I have left that active page.

var path = location.pathname;
var home = "/";
$("a[href='" + [path || home] + "']").parents("li").each(function() {   
        $(this).addClass("current_page_item");
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七禾 2024-10-20 00:10:14
var aHrefs = $("li a")

$.each(aHrefs, function (i,e) {
    var href = $(e).attr('href');
    var currentHref = top.location.href;

    if ( href == currentHref ) {
         $(e).parents('li.asign-an-li-class-here').addClass('current_page_item');
    }

});

我认为这应该有效。之前加载这个。检查与 .current_page_item css 类混淆的任何其他代码。

忘记了parents()电话。您应该为该 li 元素分配一个类名,这样它就不会在页面的上方给出误报。

var aHrefs = $("li a")

$.each(aHrefs, function (i,e) {
    var href = $(e).attr('href');
    var currentHref = top.location.href;

    if ( href == currentHref ) {
         $(e).parents('li.asign-an-li-class-here').addClass('current_page_item');
    }

});

I think this should work. Load this just before . Check any other code you have that messes with the .current_page_item css class.

Forgot the parents() call. You should assign a class name to that li element so it wont give you a false positive any further up the page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文