Javascript 将活动类添加到当前活动链接

Javascript 将活动类添加到当前活动链接,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我知道这个问题可以在SO上提出,但我必须问这个问题。 我已经为我的导航制作了一个插件,其中包含多个功能和事件。 一种方法是将活动类添加到当前链接。 这个方法以前工作得很好,但我做了一些改变,现在它不再工作了 我的方法是: $('.nav-menu li a').filter(function(){ return this.href == location.href.replace(/#.*/, ""); }).addClass("active"); 这是一个非常简单的方法,但我需要再写

我知道这个问题可以在SO上提出,但我必须问这个问题。
我已经为我的导航制作了一个插件,其中包含多个功能和事件。
一种方法是将活动类添加到当前链接。
这个方法以前工作得很好,但我做了一些改变,现在它不再工作了

我的方法是:

$('.nav-menu li a').filter(function(){
    return this.href == location.href.replace(/#.*/, "");
}).addClass("active");
这是一个非常简单的方法,但我需要再写一遍。
该插件上有几个函数和一个事件处理程序

有一个选择器正在处理单击事件
可能是
此。href
未提供绝对url。不过我不确定。但是如果您使用
indexOf
会更好,即使href中有一个相对url,它也会起作用

$('.nav-menu li a').filter(function(){
    return location.href.replace(/#.*/, "").indexOf($(this).attr('href')) != -1;
}).addClass("active");

你的链接看起来像什么<代码>@Bondye yes这是ls。您有其他代码使用同一选择器吗?@Mivaweb yes有一个单击事件使用同一选择器。这是有效的。您可以将此代码添加到您的问题中吗?请尝试我编辑的答案,现在我正在使用
attr
方法获取href值。嘿,该代码在主脚本文件中工作,但在插件中不工作。我不知道插件在做什么,所以我无法告诉你为什么它不工作。这可能是因为代码在插件中的位置
$('.nav-menu li a').filter(function(){
    return location.href.replace(/#.*/, "").indexOf($(this).attr('href')) != -1;
}).addClass("active");