jquery - CSS 当前类未被删除

标签 jquery html css

我有以下菜单,我正在尝试根据 url 设置当前类,但它不起作用,有人知道为什么或者更好的实现方法吗,谢谢: HTML-

 <ul class="dropdown">
                        <li><a id="home" href="/">Home</a></li>
                        <li>
                            <a id="hospitals" href="/hca-hospitals">HCA Hospitals</a>
                            <ul class="sub_menu">
                                <li id="one"><a  href="/hca-hospitals/hospitals-and-outpatients">Hospitals and Outpatients</a></li>
                                <li id="two"><a  href="/hca-hospitals/treatments">Treatments</a></li>
                            </ul>
                        </li>
                        <li>
                            <a id="benefits" href="/platinum-choice-benefits">Platinum Choice Benefits</a>
                            <ul class="sub_menu">
                                <li id="one"><a href="/platinum-choice-benefits/download-voucher">Download Voucher</a></li>
                                <li id="two"><a href="/platinum-choice-benefits/where-you-can-go">Where you can go</a></li>
                            </ul>
                        </li>
                        <li>
                            <a id="find" href="/find-a-hca-consultant">Find a Consultant</a>
                        </li>
                        <li>
                            <a id="contact" href="/contact-hca">Contact</a>
                        </li>
  </ul>

CSS -

ul.dropdown li a.current  { color: #66c2c0;}

JQuery-

  var pathname = $(location).attr('href');

       if (pathname = "/contact-hca") {
            $("ul.dropdown li a#contact").addClass("current");
           $("ul.dropdown li a#find").removeClass("current");
        }
       if (pathname = "/find-a-hca-consultant") {
           $("ul.dropdown li a#find").addClass("current");
           $("ul.dropdown li a#contact").removeClass("current");
       }

最佳答案

您使用的是 = 而不是 ===,它实际上是分配 pathname,而不是比较它。解决这个问题。

if (pathname === "/contact-hca") {
  $("ul.dropdown li a#contact").addClass("current");
  $("ul.dropdown li a#find").removeClass("current");
} else if (pathname === "/find-a-hca-consultant") {
  $("ul.dropdown li a#find").addClass("current");
  $("ul.dropdown li a#contact").removeClass("current");
}

关于jquery - CSS 当前类未被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21957949/

相关文章:

jquery - 为 &lt;input&gt; 按钮分配唯一的 id 并使用 jquery 读取它

javascript - angularjs 显示/隐藏标签,点击同一个标签隐藏内容

css - 全屏背景图像和切换标题的可见性

javascript - HTML/CSS Textarea 高度自动?文字落后了

javascript - jquery 未捕获语法错误 : Invalid or unexpected token - Input text has an apostrophe

javascript - 点击事件时从数据库获取价格

javascript - 具有批量编辑网格的 Telerik MVC 网站可防止窗口关闭时未保存的更改

html - 静态导航栏的更高事件选项卡

javascript - Three.js 线垂直于球体

html - 使用 DIV 在 css 类中设置 :link, :hover, 等