我希望jQuery提取url,然后解析它以查找机场。如果找到机场,我想将一个类添加到包含html " airports“的list-item <a>标记中。
到目前为止,这就是我所拥有的:
JQuery
path_name=location.pathname;
if ((path_name.search("airports") > 0) {
$("div.more li a").find(":contains('airports')").addClass("current-menu-item");
}html看起来如下:
<ul>
<a class="static" href="#">ALL</a>
<li><a class="static" href="#">AIRPORTS</a></li>
</ul>网址是:
http://localhost/site/?type=airports这是语法问题还是“尝试另一种方式”的问题?
更新:
使用警报建议,我能够验证我正在使用location.search获取url。变量search_name = location.search;警报(Search_name);
给了我弹出式
?type=airports因此,我得到了正确加载的变量,我只是不能编写逻辑来添加类。到目前为止,这些建议还没有奏效。
更新2
这是为一个孤立的事件工作。
var search_name = location.search;
if (search_name.search("airports") > 0) {
alert(search_name);
$("div.more a:contains('AIRPORTS')").addClass("active");
}
});我想通过传递一个变量使之更加灵活一些。
你是怎么做的?到目前为止,这就是我所拥有的
$(function() {
var search_name = location.search;
if (search_name.search("+ search_name +") > 0) {
alert(search_name);
$("div.more a:contains('AIRPORTS')").addClass("active");
}
});但这不管用。
发布于 2012-06-24 22:11:01
...with一些小的修正,这应该是可行的:http://jsfiddle.net/a4tWE/2/
发布于 2012-06-24 21:58:42
location.search是包含机场的部件。它是?之后的所有内容,不包含在location.pathname中。
发布于 2012-06-24 22:03:25
MDN:从搜索字符串中获取值的示例。
function loadPageVar (sVar) {
return unescape(window.location.search.replace(new RegExp("^(?:.*[&\\?]" + escape(sVar).replace(/[\.\+\*]/g, "\\$&") + "(?:\\=([^&]*))?)?.*$", "i"), "$1"));
}
alert(loadPageVar("name")); https://stackoverflow.com/questions/11181524
复制相似问题