我在尝试在鼠标点击事件发生时切换并向元素添加类时遇到了问题。同样,我有多个“li”元素。我想将“class = subdrop active”添加到选定的锚点标签,并将“class = active”添加到后续的 li 标签。我不确定我是否正确处理了类操作。有人能建议一下正确的方法吗?
<li class="submenu">
<a href="javascript:void(0);">
<i class="ti ti-layout-dashboard"></i>
<span>Admin Profile</span>
<span class="menu-arrow"></span>
</a>
<ul>
<li>
<a href="<?php echo base_url('admin_dashboard'); ?>">Dashboard</a>
</li>
<li>
<a href="<?php echo base_url('admin_profile'); ?>">Profile</a>
</li>
<li>
<a href="#">Settings</a>
</li>
<li>
<a href="#">Contacts</a>
</li>
</ul>
</li>
尝试在选定的 li 点击上获取以下结果
<li class="submenu">
<a href="javascript:void(0);" class="subdrop active"><i class="ti ti-layout-dashboard"></i><span>Admin Profile</span><span class="menu-arrow"></span>
</a>
<ul>
<li><a href="<?php echo base_url('admin_dashboard'); ?>" class="active">Dashboard</a></li>
<li><a href="<?php echo base_url('admin_profile'); ?>">Profile</a></li>
<li><a href="#">Settings</a></li>
<li><a href="#">Contacts</a></li>
</ul>
</li>
嘿,这也是我一直纠结的问题。对我来说,有效的方法是保留两个简单的处理程序:一个用于点击顶层菜单,一个用于点击子菜单链接。这样就不会出现嵌套或重复的逻辑。
点击顶级链接时,它会首先关闭所有其他子菜单,然后自动切换打开/关闭状态。打开它还会自动选择第一个子项。点击子链接只会高亮显示该链接,确保其父级链接处于打开状态,并关闭所有其他菜单。