我在网上查看了使用 Jquery 突出显示当前菜单导航的各种方法,我发现了下面的代码。代码运行完美,但我不太理解第二行,我想知道是否有人可以解释一下。
var url = window.location.href;
url = url.substr(url.lastIndexOf("/") + 1);
$("#mainMenu").find("a[href='" + url + "']").addClass("current");
提前致谢!
最佳答案
url = url.substr(url.lastIndexOf("/") + 1);
只是抓取 url 的最后一部分。例如,如果 url 是
foo.com/module/submodule
它将返回子模块
它通过找到 /
的最后一个索引,然后将 1 + that 传递给 substr
来实现这一点。
根据您对 的评论,让我感到困惑的部分是末尾的“+1”
,请注意 substr 获取子字符串开始的索引。您不希望子字符串从 /
开始,因此添加 1 以便子字符串将从最后一个 /
之后的字符开始。
为了完整起见,由于没有第二个参数传递给 substr,因此返回了 url 的全部剩余部分。如果传递了第二个参数,则只会返回该数量的字符。
关于javascript - 在导航菜单中突出显示当前页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20898355/