我有以下菜单,我正在尝试根据 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/