javascript - 如何只让当前子菜单获得事件类而不是所有子菜单?

标签 javascript jquery html css

当我单击菜单中的子菜单项时,所有子菜单项都获得 main-nav-active 类,但我只想让父级和当前子菜单项具有main-nav-active 类。

这是我的菜单:

$(function() {
    $('.menu .main-nav li a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('main-nav-active');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="menu float-right pr-4 pt-4 mt-1">
   <ul class="main-nav">
      <li>
         <a href="/">Home</a>
      </li>
      <li class="position-relative">
         <a href="/zonwering">Zonwering</a>
         <div class="dropdown-content">
            <span><a href="/zonwering/terrasscherm">- Terrasscherm</a></span>
            <span><a href="/zonwering/terrassoverkapping">- Terrasoverkapping</a></span>
            <span><a href="/zonwering/screens">- Screens</a></span>
            <span><a href="/zonwering/rolluiken">- Rolluiken</a></span>
            <span><a href="/zonwering/markiezen">- Markiezen</a></span>
            <span><a href="/zonwering/uitvalscherm">- Uitvalscherm</a></span>
         </div>
      </li>
      <li>
         <a href="/terrasoverkapping">Terrasoverkapping</a>
      </li>
      <li>
         <a href="/over-ons">Over ons</a>
      </li>
      <li>
         <a href="/contact">Contact</a>
      </li>
      <li>
         <a href="/offerte-aanvragen">Offerte aanvragen</a>
      </li>
   </ul>
</div>

最佳答案

在每个 SPAN 中添加 AUX 类。

$(document).on('click', '.aux', function({
    $(this).addClass('main-nav-active'); // or child, you change
    $(this).parent('.dropdown-content').addClass('main-nav-active'); 
}))

关于javascript - 如何只让当前子菜单获得事件类而不是所有子菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55417760/

相关文章:

javascript - 如何编写不带参数的类型化操作

html - 输入字段在移动设备上表现怪异

javascript - 使用选择/选项更改文本颜色

javascript - 当在另一个菜单中选择特定选项时,隐藏下拉菜单中的选项

Javascript,Firefox 在没有 document.write 的情况下替换整个文档

javascript - 如何检查 p 是否为 :dialog is open?

javascript - 检测使用 javascript 单击哪个链接将用户带到特定页面

javascript - 隐藏从服务器返回的部分文本

jquery - 在我将 autoComplete 添加到下拉列表后,OnSelectedIndexChanged 事件停止触发。有什么想法吗?

javascript - Bootstrap : How to set a viewport to lg even if real screen is smaller ("Classic View")