首页 关于我们 成功案例 网络营销 电商设计 新闻中心 联系方式
QQ联系
电话联系
手机联系

J*aScript:点击子菜单项时为父级UL添加Class

发布时间:2025-10-21 10:44
发布者:网络
浏览次数:

javascript:点击子菜单项时为父级ul添加class

本文旨在解决在J*aScript中,当点击子菜单项时,如何为其父级`

    `元素添加特定的CSS类,以保持菜单展开状态的问题。通过分析HTML结构和jQuery代码,提供了一种简洁有效的解决方案,确保用户在浏览子菜单时,父菜单始终保持可见。

    问题分析

    原始代码尝试使用.parent('n*-content collapse > ul')来为父级

      元素添加show类,但.parent()方法只会返回元素的直接父元素。在给定的HTML结构中,.sub类的元素的直接父元素是
    • ,而不是目标
        。因此,需要找到一种方法来访问
      • 的父元素,即

          解决方案

          正确的解决方案是使用.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 类。

                注意事项

          1. 确保引入 jQuery: 代码依赖 jQuery 库,确保在HTML文件中正确引入 jQuery。

            AI Surge Cloud AI Surge Cloud

            低代码数据分析平台,帮助企业快速交付深度数据

            AI Surge Cloud 87 查看详情 AI Surge Cloud
          2. CSS 定义: 确保 CSS 中定义了 .show 类的样式,以控制菜单的展开状态。例如:

            .show {
                display: block; /* 或者其他合适的显示方式 */
            }
          3. HTML 结构: 代码依赖特定的 HTML 结构。如果 HTML 结构发生变化,可能需要调整 J*aScript 代码。

          4. 唯一ID: 如果有多个相同ID的ul,会造成冲突,请确保id="econ-n*"是唯一的,或者使用其他选择器。

          总结

          通过使用.parent().parent()方法,我们可以轻松地访问到子菜单链接的父级

            元素,并为其添加相应的CSS类,从而实现点击子菜单项时保持父菜单展开的效果。 这种方法简单有效,适用于各种需要控制菜单展开状态的场景。

以上就是J*aScript:点击子菜单项时为父级UL添加Class的详细内容,更多请关注其它相关文章!


# css  # javascript  # java  # jquery  # html  # js  # html文件  # 点击事件  # 表单  # 菜单项  # 为父  # 单选框  # 选择器  # 其父  # 显示效果  # 在这个  # 多个  # 将会  # 温州平阳网站推广营销  # 扬州网站建设文案制作  # 四川产品seo优化费用  # 兰州全网营销推广  # 网站seo平台免费  # 免费建设网站推荐  # seo大赛方案  # 珠海seo关键字优化  # 专业网站建设优惠吗江苏  # 白象推广营销方案策划书