Javascript 如何将变量加载到.search中
我正在提取一个url,然后将其转换为大写。我想将该变量加载到.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
$(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