J*aScript:点击子菜单项时为父级UL添加Class
发布时间:2025-10-21 10:44
发布者:网络
浏览次数:
本文旨在解决在J*aScript中,当点击子菜单项时,如何为其父级`
- `元素添加特定的CSS类,以保持菜单展开状态的问题。通过分析HTML结构和jQuery代码,提供了一种简洁有效的解决方案,确保用户在浏览子菜单时,父菜单始终保持可见。
- ,而不是目标
- 。因此,需要找到一种方法来访问
- 的父元素,即
- 。
解决方案
正确的解决方案是使用.parent()方法两次,以获取元素的父元素的父元素,也就是目标
- 元素。
$(document).ready(function () { $('.sub').click(function () { $(this).parent().parent().addClass('show'); }); });这段代码首先选取所有class为sub的元素(即子菜单链接),然后绑定一个点击事件。当点击事件发生时,$(this)指向被点击的子菜单链接。.parent()方法第一次调用返回
- 元素,第二次调用返回
- 元素。最后,.addClass('show')为这个
- 元素添加show类,从而保持菜单展开。
完整示例
<li class="n*-item"> <a class="n*-link collapsed" data-bs-target="#econ-n*" data-bs-toggle="collapse" href="#"> <i class="bi bi-bar-chart"></i><span>finance</span><i class="bi bi-chevron-down ms-auto"></i> </a> <ul id="econ-n*" class="n*-content collapse " data-bs-parent="#sidebar-n*"> <li> <a class="sub" href="submeni1.html"> <i class=" bi bi-circle"></i><span>SubMenu1</span> </a>
</li>
<li>
<a class="sub" href="submenu2.html">
<i class="bi bi-circle"></i><span>submenu2</span>
</a>
</li>
</ul>
</li>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function () {
$('.sub').click(function () {
$(this).parent().parent().addClass('show');
});
});
</script>在这个示例中,当点击 "SubMenu1" 或 "submenu2" 链接时,其父级
- 元素将会被添加 show 类。
注意事项
- 的父元素,即
确保引入 jQuery: 代码依赖 jQuery 库,确保在HTML文件中正确引入 jQuery。
AI Surge Cloud
低代码数据分析平台,帮助企业快速交付深度数据
87
查看详情
-
CSS 定义: 确保 CSS 中定义了 .show 类的样式,以控制菜单的展开状态。例如:
.show { display: block; /* 或者其他合适的显示方式 */ } HTML 结构: 代码依赖特定的 HTML 结构。如果 HTML 结构发生变化,可能需要调整 J*aScript 代码。
唯一ID: 如果有多个相同ID的ul,会造成冲突,请确保id="econ-n*"是唯一的,或者使用其他选择器。
问题分析
原始代码尝试使用.parent('n*-content collapse > ul')来为父级
- 元素添加show类,但.parent()方法只会返回元素的直接父元素。在给定的HTML结构中,.sub类的元素的直接父元素是
总结
通过使用.parent().parent()方法,我们可以轻松地访问到子菜单链接的父级
- 元素,并为其添加相应的CSS类,从而实现点击子菜单项时保持父菜单展开的效果。 这种方法简单有效,适用于各种需要控制菜单展开状态的场景。
以上就是J*aScript:点击子菜单项时为父级UL添加Class的详细内容,更多请关注其它相关文章!
# css
# javascript
# java
# jquery
# html
# js
# html文件
# 点击事件
# 表单
# 菜单项
# 为父
# 单选框
# 选择器
# 其父
# 显示效果
# 在这个
# 多个
# 将会
# 温州平阳网站推广营销
# 扬州网站建设文案制作
# 四川产品seo优化费用
# 兰州全网营销推广
# 网站seo平台免费
# 免费建设网站推荐
# seo大赛方案
# 珠海seo关键字优化
# 专业网站建设优惠吗江苏
# 白象推广营销方案策划书





</li>
<li>
<a class="sub" href="submenu2.html">
<i class="bi bi-circle"></i><span>submenu2</span>
</a>
</li>
</ul>
</li>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function () {
$('.sub').click(function () {
$(this).parent().parent().addClass('show');
});
});
</script>