jquery - 使用 location.pathname 添加一个类

标签 jquery css url jquery-selectors

我希望 jQuery 提取 url,然后解析它以查找机场。如果找到机场,我想在列表项中添加一个类 <a > 包含 html“机场”的标签。

这是我目前所拥有的:

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。 var search_name = location.search; 警报(搜索名称);

给我弹窗

?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");
    }

    });

但这行不通。

最佳答案

...经过一些小的更正,这应该可以工作:http://jsfiddle.net/a4tWE/2/

  • 改用 location.href

  • :contains 选择器区分大小写

  • 移除括号

    if ((path_name.search("airports") > 0) {

  • 删除了 find,as contains 作业。

关于jquery - 使用 location.pathname 添加一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181524/

相关文章:

javascript - 每日特定时间倒计时

javascript - 字符串中重复部分的正则表达式

jquery - 将 div 滚动到 div 的 CSS 过渡

jsf - 制作 'back to previous page' 系统的最佳方法是什么?

javascript - 从多维嵌套 json 数组创建下拉列表

javascript - FormData在前端定义,在后端未定义

html - 如何同时拥有水平和垂直导航栏

CSS 和 GSAP 缩放图形问题

python - urllib2.quote 不能正常工作

java - 使用 Java URL 解析带有 unicode 字符的维基百科 url 时出错