我只在当前页面等于该链接的情况下才尝试将一个类应用于该链接。
我找到当前页面:
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选择器中使用变量,并根据属性进行选择,因此效果很好。