我只在当前页面等于该链接的情况下才尝试将一个类应用于该链接。

我找到当前页面:

var pathname = window.location.pathname.split("/")[window.location.pathname.split("/").length - 1];

这将获取页面的url,并保存最后一个/之后的内容,在我的页面中为'index.html'。

现在,我使用的链接(带有display:块的 anchor 标签)在将鼠标悬停在其上时会改变背景颜色。

我的目标是,当您访问链接所链接到的页面时,这些链接已被着色,就像它们被悬停一样。

所以我用了:
if (pathname == $(".linkclass").attr("href")){
    $(this).addClass("linkHover");
}

现在,显然“this”修饰符不起作用,但是我如何告诉它仅将通过if语句的linkClass实例应用于此类? (而不是.linkclass的每个实例,每个实例都有多个)。

谢谢!

最佳答案

我知道了,但是如果有人遇到类似问题,我会回答。

我认为jquery可以使用自己的选择引擎来处理比较,而不是if语句。起初,我寻找.equals或类似的东西,但是我发现了:

var pathname = window.location.pathname.split("/")[window.location.pathname.split("/").length - 1];
$(".linkClass[href='" +pathname+ "']").addClass("linkHover");

您可以在jquery选择器中使用变量,并根据属性进行选择,因此效果很好。

10-07 21:51