javascript - 在导航菜单中突出显示当前页面?

标签 javascript jquery html uinavigationbar

我在网上查看了使用 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 的全部剩余部分。如果传递了第二个参数,则只会返回该数量的字符。

More info on substr

关于javascript - 在导航菜单中突出显示当前页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20898355/

相关文章:

javascript - 如何在一个提示中获取 3 个值,使用特殊字符分隔值而不写 3 个提示? javascript

javascript - JSON数据分组依据

javascript - 许多按钮->容器元素

javascript - Codeigniter 购物车使用 jQuery 删除单个元素

javascript - 在不弄乱 UTF-8 字符串的情况下获取子字符串

javascript - 制作所有图像的来源 https ://using *. user.js

jquery - 从选择中删除一个选项并将其添加到另一个选择中

javascript - 缓慢打开/关闭 div?

html - 为什么div中这张图片下面有白边?

javascript - Phaser js php 排行榜