html - Jquery条件类添加
问题描述
所以我正在使用一些 jQuery 开发这个小型前端项目选择了其他选项。因此,假设选择了 Name-1 它会获得背景颜色更改,但是如果在 Name-1 的背景颜色之后立即选择 Name-2 应该消失并添加到 Name-2,并且我有多个名称,所以我不能为每个选项创建一个函数。我想知道是否有更简单的方法来做到这一点。
HTML
<ul class="names">
<li class="name selected">Name-1</li>
<li class="name">Name-2</li>
<li class="name">Name-3</li>
</ul>
CSS
.selected {
background-color: rgba(0, 0, 0, 0.3);
}
解决方案
你可以这样做:
$("ul.names li").on("click", function(){
$("ul.names li").removeClass("selected");
$(this).addClass("selected");
})
编辑 - 说明
您<li>
通过此选择器选择所有标签ul.names li
并将它们一起操作,首先您通过此selected
从所有li
标签中删除类$("ul.names li").removeClass("selected");
,然后将类添加到由关键字表示selected
的所选li
标签this
$("ul.names li").on("click", function() {
$("ul.names li").removeClass("selected");
$(this).addClass("selected");
})
.selected {
background-color: rgba(0, 0, 0, 0.3);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="names">
<li class="name selected">Name-1</li>
<li class="name">Name-2</li>
<li class="name">Name-3</li>
</ul>
推荐阅读
- bash - bash 函数因 set -e 而失败
- javascript - 发送的数据过多导致连接关闭(Laravel Nova 过滤器)?
- node.js - 在没有关系的关系数据库中使用急切加载 sequelize
- c++ - Project Euler #8 答案太大以获得有效答案
- azure - 如何将存储在 Azure 表中的数据接收到网站?
- python - pywebview 窗口可以始终保持在顶部吗?
- sql - 分页后是否可以加入 SQL 查询?
- docker - 是否可以不删除使用 docker jenkins 插件启动的容器?
- python - 在python中替换字典中的冗余键和值
- git - 从远程拉取分支的更改