Javascript 如何将变量加载到.search中

Javascript 如何将变量加载到.search中,javascript,jquery,css,jquery-selectors,Javascript,Jquery,Css,Jquery Selectors,我正在提取一个url,然后将其转换为大写。我想将该变量加载到.search函数中以过滤结果 到目前为止,这是我所拥有的,但它不能正常工作: $(function() { var search_name = location.search; var ucSearch = search_name.toUpperCase(); if (search_name.search("airports") > 0) { $("div.more a:contain

我正在提取一个url,然后将其转换为大写。我想将该变量加载到.search函数中以过滤结果

到目前为止,这是我所拥有的,但它不能正常工作:

$(function() {
    var search_name = location.search;
    var ucSearch = search_name.toUpperCase();

    if (search_name.search("airports")  > 0) {
        $("div.more a:contains("+ ucSearch +")").addClass("active");
    }

});
我认为这可能只是一个语法问题

我想最终我会想要这样的东西:

$(function() {
   var search_name = location.search;
   var ucSearch = search_name.toUpperCase();

   if (search_name.search("+ ucSearch +")  > 0) {
       $("div.more a:contains("+ ucSearch +")").addClass("active");
   }
});
这样,它将url中的变量与锚html中的变量相匹配

更新:

这是我的html

<div class="more">
<ul>
  <a class="static" href="#">ALL</a>
  <li><a class="static" href="#">AIRPORTS</a></li>
</ul>
</div>

因此,我希望jquery获取url并将该url文本与锚标记中的html文本相匹配。在这种情况下,“机场”。我想让它更流畅一点的原因是,它有什么锚定标签,“机场”和“车库”。然后,它可以将传递到url的内容与相应的锚标记相匹配,并添加“active”类

这是你的电话号码

url为site/?type=AIRPORTS

,前提是该url将为您获取get查询字符串(在您的示例中,该字符串将包含
?type=AIRPORTS
),我们需要从筛选此url开始,以仅获取搜索词。一个非常原始的方法就是直接使用。e、 g

现在
术语
包含
机场
。为了确保它的资本化,我们可以调用它。e、 g

var term = window.location           // "http://somesite.com/?type=AIRPORTS"
           .search                   // "?type=AIRPORTS"
           .substr('?type='.length)  // "AIRPORTS"
           .toUpperCase();           // "AIRPORTS"
现在,转到jQuery,查找其中包含此搜索词的所有链接,并将其类设置为活动:

$('div.more a:contains("' + term + '")').addClass('active');
总之:

$(function(){ // document.ready
  var term = window.location.search.substr('?type='.length).toUpperCase();
  $('div.more a:contains("' + term + '")').addClass('active');
});
如果这将获得get查询字符串(在您的示例中,该字符串将包含
?type=AIRPORTS
),我们需要从筛选该字符串开始,以仅获取搜索词。一个非常原始的方法就是直接使用。e、 g

现在
术语
包含
机场
。为了确保它的资本化,我们可以调用它。e、 g

var term = window.location           // "http://somesite.com/?type=AIRPORTS"
           .search                   // "?type=AIRPORTS"
           .substr('?type='.length)  // "AIRPORTS"
           .toUpperCase();           // "AIRPORTS"
现在,转到jQuery,查找其中包含此搜索词的所有链接,并将其类设置为活动:

$('div.more a:contains("' + term + '")').addClass('active');
总之:

$(function(){ // document.ready
  var term = window.location.search.substr('?type='.length).toUpperCase();
  $('div.more a:contains("' + term + '")').addClass('active');
});

您能否提供一些HTML,以便我们了解您的函数可能无法工作的原因?尝试在jsfiddle.net上安装javascript和HTML。如果使用了if语句,我认为最好检查一下它是否
!=-1
=0
,因为字符串是基于零的,如果第一次出现是0,它将失败。您是否在某处定义了
字符串.prototype.search
函数?
search\u name.search(…)
来自哪里?为什么您的链接是hrefs
,而不是实际的url
/?type=AIRPORTS
?修复此问题将解决您的问题。
location.search
的值需要解析才能删除“”?type=“…显示一些HTML您可以提供一些HTML以便我们了解您的函数可能无法工作的原因吗?尝试在jsfiddle.net上安装javascript和HTML。如果使用了if语句,我认为最好检查一下它是否
!=-1
=0
,因为字符串是基于零的,如果第一次出现是0,它将失败。您是否在某处定义了
字符串.prototype.search
函数?
search\u name.search(…)
来自哪里?为什么您的链接是hrefs
,而不是实际的url
/?type=AIRPORTS
?修复此问题将解决您的问题。
location.search的值需要解析才能删除“”,type=“…显示一些html