Javascript 通过打开的url标记菜单按钮
我有一个带有Javascript 通过打开的url标记菜单按钮,javascript,jquery,Javascript,Jquery,我有一个带有nav菜单的网站 <nav> <h1>Menu:</h1> <br> <a href="/tests/add-new-test-link">Add link</a> <a href="/tests/run-tests">Run tests</a> <a href="/tests/reports-history">Test reports hist
nav
菜单的网站
<nav>
<h1>Menu:</h1> <br>
<a href="/tests/add-new-test-link">Add link</a>
<a href="/tests/run-tests">Run tests</a>
<a href="/tests/reports-history">Test reports history</a>
<a href="/tests/links-list">Links list</a>
</nav>
在上面的脚本中,当前打开的URL被剪切并等同于按钮链接的href
。与打开的url匹配的链接href
,应添加该类
错误:-
“indexOf()不是函数”
这是我当前遇到的错误。发生了什么事?您需要使用
.attr(“href”)
并像这样检查!=-1
$(this.attr(“href”).indexOf(hrefCheck)!=-1
如果hrefCheck
在$(this.attr(“href”)
中不存在,那么它将返回-1
var currentUrl=window.location.href;
var hrefCheck=currentUrl.split('/').pop();
$(“nav”).find(“a”).each(function(){
if($(this.attr(“href”).indexOf(hrefCheck)!=-1){
$(此).addClass(“聚焦”);
}
});代码>
.focused{color:red}
菜单:
试试$(this).attr(“href”).indexOf(hrefCheck)
应该是$(this.attr('href').indexOf(…
var currentUrl = window.location.href;
var hrefCheck = currentUrl.split('/').pop();
$("nav").find("a").each(function() {
if ($(this).indexOf(hrefCheck)) {
$(this).addClass("focused");
}
});