javascript - 单击子菜单Javascript时如何将活动类添加到菜单中?
问题描述
当我单击其子菜单时,我尝试将活动类添加到菜单中。我在下面有菜单引导菜单。
// active navigation
const currentLocation = location.href;
const menuItem = document.querySelectorAll('.nav-link');
const menuLength = menuItem.length;
for (let i = 0; i < menuLength; i++) {
if (menuItem[i].href === currentLocation) {
menuItem[i].classList.add("active");
}
}
.active {
color: #FF0000;
border-bottom: 2px solid #FF0000;
}
<ul class="navbar-nav m-auto">
<li class="nav-item ">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
About
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item " href="about.html">About me</a>
<a class="dropdown-item" href="myportfolio.html">My portfolio</a>
<a class="dropdown-item" href="contact.html">Contact</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="demo.html">Demo</a>
</li>
</ul>
即使我单击其子菜单并重定向到任何页面,我也想让父菜单处于活动状态。任何人都可以帮忙,好吗?
解决方案
您需要添加一个click event
使用addEventListener
...
const dropdown = document.querySelector("#navbarDropdownMenuLink");
const dropdownItem = document.querySelectorAll(".dropdown-item");
for (let i = 0; i < dropdownItem.length; i++) {
dropdownItem[i].addEventListener("click", function() {
dropdown.classList.add("active");
});
}
.active {
color: #FF0000;
border-bottom: 2px solid #FF0000;
}
<ul class="navbar-nav m-auto">
<li class="nav-item ">
<a class="nav-link active" href="index.html">Home</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
About
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item " href="#">About me</a>
<a class="dropdown-item" href="#">My portfolio</a>
<a class="dropdown-item" href="#">Contact</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Demo</a>
</li>
</ul>
一些有用的资源
推荐阅读
- scala - RDD[Array[String]] 的数组类型不匹配(scala.Array vs Array)
- javascript - 使用 json 的 Highcharts 动态图表
- python - pandas align() 函数:说明性示例
- javascript - 用于自定义图章的 PDF Javascript 在 Adobe Reader DC 中不起作用
- javascript - 如何将网站语言转换为用户选择的语言 - React JS
- regex - ansible 中的 regex_replace 没有用捕获组 1 替换字符串
- python-3.x - PyParsing:使用 SkipTo()、标记数据和可能的 Forward()
- php - 如何更改选择标签中下拉列表的背景颜色?
- javascript - 无法将数据推送到对象
- c# - 如何使用 Google Cloud JSON 服务帐户文件发出 C# REST 请求?