jquery - 单击时链接不会改变颜色
问题描述
我有一个 jquery 函数,当点击链接时会改变颜色。我的代码将选择被点击元素的父元素并添加一个名为“活动”的新类,并删除具有活动类的兄弟姐妹中的所有“活动”类。但是当我执行我的代码时,它根本没有改变。还检查了控制台,活动不添加到单击的li。
这是我的代码:
$("#menu-links > li a").on("click", function() {
$("#menu-links > li a").parent().addClass('.active').siblings().removeClass('.active')
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="menu-links">
<li class="active"><a href="#">HOME</a></li>
<li> <a href="#">ABOUT ME</a></li>
<li> <a href="#">PROFILE</a></li>
<li> <a href="#">CONTACTS</a></li>
</ul>
解决方案
您应该this
在添加/删除函数中使用和删除类名中的点:
$("#menu-links > li a").on("click", function() {
$(this).parent().addClass('active').siblings().removeClass('active')
})
a {
color: black;
text-decoration: none;
}
.active a {
color: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="menu-links">
<li class="active"><a href="#">HOME</a></li>
<li> <a href="#">ABOUT ME</a></li>
<li> <a href="#">PROFILE</a></li>
<li> <a href="#">CONTACTS</a></li>
</ul>
推荐阅读
- javascript - 如何为演示网站使用 Javascript 连接到 Datastore(Firestore 本机模式)?
- django - 如何在 Django orm 查询中对具有重复行的值求和
- angular - 如何在大型应用程序中以角度管理服务?
- php - 防止 AJAX 调用每次触发两次
- python - 如何将 Mixins 应用于 django 应用程序中的所有 CBV?
- npm - Ansible 在 CentOS 7 上安装 JsReport
- azure - 如何在 Azure 中标记预订和预订订单?
- c# - 如何直接在表单缓冲区上绘制(使用指针)
- geoip - 为什么 Maxmind 的 GeoLite2 City 数据库返回不存在的 geoname_id?
- java - 如何在速度模板中准备包含动态数据的表格?