【发布时间】:2012-06-25 11:02:43
【问题描述】:
我正在提取一个 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 的内容与相应的锚标记匹配,并添加“活动”类。
这里是fiddle
网址是 site/?type=AIRPORTS
【问题讨论】:
-
您能否提供一些 HTML,以便我们了解您的功能可能无法正常工作的原因?尝试在 jsfiddle.net 上放置 javascript 和 HTML
-
考虑到你的 if 语句的使用,我认为你最好检查它
!= -1或>= 0因为字符串是从零开始的,如果第一次出现是 0 它将失败. -
您是否在某处定义了
String.prototype.search函数?search_name.search(...)来自哪里? -
为什么你的链接href是
#而不是实际的url/?type=AIRPORTS?解决此问题将解决您的问题。 -
location.search的值需要被解析以移除 "?type="...show some html
标签: javascript jquery css jquery-selectors