【问题标题】:Test location jquery测试位置jquery
【发布时间】:2014-11-14 03:00:25
【问题描述】:

我在 jquery 中有一个返回完整 URL 的函数。基于此,我将活动类分配给正确的 ID。但有一个案例测试其中是否包含“fr”一词(用于语言按钮)。但是很多页面的名称都包含“煎炸”。

所以每次我进入“frying”页面时,该函数都会为“fr”ID 提供一个活动类。

有什么办法可以解决吗? 完整的网址类似于:www.example.com/frying/oils 或法语:www.example.com/fr/frying/oils

$(function() {
  var loc = window.location.href; // returns the full URL 
    if(/fr/.test(loc)) {
    $('#fr').addClass('active');
    $('#en').removeClass('active');
    $('#nl').removeClass('active');
  }

});

【问题讨论】:

  • 完整的网址是什么样的?
  • 完整的 URL 是什么样的?如果语言是子目录,您可以检查 \/fr\/
  • 第一次提供您的完整网址

标签: javascript jquery


【解决方案1】:

您需要一个匹配边界字符之间的文本“fr”的正则表达式:

if(/\bfr\b/.test(loc)) {

}

你也可以避免正则表达式,做

if(loc.indexOf('/fr/') != -1) {

}

【讨论】:

    【解决方案2】:

    if(/\/fr\//.test(loc)) { 应该这样做。使用斜杠检查作为子目录的整个字符串。

    【讨论】:

      【解决方案3】:

      JavaScript/jQuery - How to check if a string contain specific words

      可能有帮助的具体摘录:

      function wordInString(s, word){
      return new RegExp( '\\b' + word + '\\b', 'i').test(s);
      }
      

      这将匹配完全不区分大小写的单词...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-26
        • 2011-08-08
        • 1970-01-01
        • 2020-02-20
        • 1970-01-01
        • 1970-01-01
        • 2016-05-16
        • 2012-09-25
        相关资源
        最近更新 更多