Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过打开的url标记菜单按钮_Javascript_Jquery - Fatal编程技术网

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");
  }
});