首页 > 解决方案 > 在 Jquery 中引用文件名

问题描述

我喜欢 Jquery 的这一点,如果链接与当前页面 URL 匹配,它会向链接添加一个活动类。但是,要使其正常工作,它需要包含完整 URL 的链接。

$("a[href*='" + location.pathname + "']").addClass("active");

我怎样才能要求它只使用文件名,即 index.html?

我不熟悉Jquery。谁能指出我正确的方向?

提前致谢。

标签: jquery

解决方案


您发布的 jQuery 是这样做的:

  1. 查找所有<a>元素

  2. 具有 href 属性的

  3. 包含以下短语:地址栏中的任何内容

  4. 对于每个匹配的,添加类“活动”

因为 jQuery 搜索包含地址栏中内容的标签,所以如果地址包含 a 标签的 href 中的内容的子集,您应该没问题。

前导斜线也有可能是一个问题。这将从“路径名”中删除第一个字符 - 例如,如果 URL 是“/index.html”,它将搜索“index.html”。

$("a[href*='" + window.location.pathname.slice(1) + "']").addClass("active");

如果此答案没有帮助,请在答案下方发表评论以提供更多信息(即为什么此答案不能解决问题 - 遗漏了什么?)以便其他观众可以提供帮助。


推荐阅读