javascript - 将“活动”类添加到与当前单击的侧边栏菜单链接相同的 href
问题描述
如何通过单击下拉菜单中的同一个 href 链接将活动类添加到选项卡并将其从所有其他选项卡中删除?
<div id="sidebar" class="sidebar py-3">
<ul class="sidebar-menu list-unstyled">
<li class="sidebar-list-item"><a href="/test" class="sidebar-link text-
muted active"><i class="la la-dashboard mr-3 text-gray "></i>
<span>Dashboard</span></a>
</li>
<li class="sidebar-list-item"><a href="/test2" class="sidebar-link text-
muted"><i class="la la-dashboard mr-3 text-gray "></i>
<span>Test</span></a>
</li>
<ul>
</div>
<style>
.sidebar-link.active, .sidebar-link:focus {
background: #e2e8ed;
color:grey !important;
text-decoration: none;
}
</style>
解决方案
监听一个<a>
元素的点击,然后移除所有类并为点击的元素添加一个类:
$("a").on("click", function() {
$("a").removeClass("active");
$(this).addClass("active");
});
.sidebar-link.active,
.sidebar-link:focus {
background: #e2e8ed;
color: grey !important;
text-decoration: none;
}
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<div id="sidebar" class="sidebar py-3">
<ul class="sidebar-menu list-unstyled">
<li class="sidebar-list-item"><a href="#" class="sidebar-link text-
muted active"><i class="la la-dashboard mr-3 text-gray "></i>
<span>Dashboard</span></a>
</li>
<li class="sidebar-list-item"><a href="#" class="sidebar-link text-
muted"><i class="la la-dashboard mr-3 text-gray "></i>
<span>Test</span></a>
</li>
</ul>
</div>
推荐阅读
- firefox - 如何解决“已建立的库必须单独包含”评论 Firefox Add On review?
- apache-spark - 如何在 SnappyData 中获取外部表 jdbc url
- asp.net - 增强 ASP.NET Web 窗体项目以支持路由
- php - 如何检查字符串是否包含“x”但不包含“xy”
- amazon-web-services - 为什么 boto3 的 FilterExpression 不接受超过 1 个表达式?
- c++ - C++中的无符号算术
- powershell - 将列表项转换为网格视图
- html - 导航栏未正确排列
- google-chrome - 为什么 Chrome 不显示 Content-Type: text/html;charset=utf-8 从 nginx 返回
- c++ - 特定时间戳的 WinAPI 调用代码