jquery - URL - 查看 URL 中的字符串

标签 jquery jquery-selectors

我有以下 html 菜单:

<ul>
    <li><a href="About/about-page.html"></a></li>
    <li><a href="Services/services-page.html"></a></li>
</ul>

如何使用 jQuery 检查当前 URL 中是否包含例如 'About/' 的字符串(如 'about' 任何情况 + '/' )?

其中“关于/”可以是任何单词。

基本上运行我的菜单并检查是否有与 URL 部分相同的字符串。 例如:

  • www.website.com/about/= true
  • www.website.com/about/something.html = true
  • www.website.com/about-something.html = false
  • www.website.com/services/about.html = false

非常感谢任何帮助。

最佳答案

假设变量 currentURL 包含您要检查的字符串,并且您不关心它是否有大写“A”:

if(currentURL.toLowerCase().indexOf("about") != -1) {
   //Contains 'about'
}

如果你想使用当前页面的URL:

var currentURL = window.location.href;

根据您的评论,我认为您正在尝试将类应用于列表中 href 属性中包含“about”一词的任何 a 元素。在这种情况下:

$("li > a").filter(function() {
   if($(this).attr("href").toLowerCase().indexOf("about") != -1) return true;
   return false;
}).addClass("newClass");

更新(根据您的评论)

您可以将其包装在一个函数中,该函数采用要查找的关键字和要添加的类的名称,然后在必要时调用它:

function applyClass(keyword, class) {
    $("li > a").filter(function() {
       if($(this).attr("href").toLowerCase().indexOf(keyword) != -1) return true;
       return false;
    }).addClass(class);
}
applyClass('service', 'newClass'); //Or for example applyClass('about', 'newClass');

关于jquery - URL - 查看 URL 中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6597558/

相关文章:

javascript - 我如何在不使用 JavaScript 的情况下使用 JQuery 库来重写它?

javascript - 选择器中的 JQuery 变量没有字符串连接

jquery - 有效 css 和/或 jQuery 选择器的正则表达式

javascript - JQuery 下一个选择器或类似的东西

javascript - jQuery : Illegal Invocation Error While Taking Attribute Values from Button

jquery - 已选择单选按钮?

javascript - 动态添加到列表后如何更改文本(编辑其内容或类)

javascript - jQuery 伪选择器的奇怪行为 :visible

javascript - 使用 jquery 拆分数组?

javascript - 如何通过 JavaScript 对表格进行排序之前强制浏览器显示模式?