You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery自动为控制div间的兄弟div递增添加指定class?

自动化为兄弟元素添加递增类名的实现方案

需求

自动为位于两个带.mv-header-menu-accordion-N(N为递增数字)类的兄弟div之间的所有元素,添加.header-child-accordion和.header-child-accordion-set-N类,替代手动编写重复代码的方式。

优化实现代码

JavaScript

$(document).ready(function() {
  $(".header-menu-nav-folder-content").each(function() {
    const accordions = $(this).find('.mv-header-menu-accordion');
    
    accordions.each(function(index) {
      // 跳过最后一个accordion,它后面没有下一个边界元素
      if (index === accordions.length - 1) return;
      
      const setNum = index + 1;
      $(this).nextUntil(accordions.eq(index + 1))
             .addClass(`header-child-accordion header-child-accordion-set-${setNum}`);
    });
  });
});

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="header-menu-nav-folder-content">
  <div class="mv-header-menu-accordion-1 mv-header-menu-accordion">
    <p>Parent 1</p>
  </div>
  <div class="">
    <p>Child 1</p>
  </div>
  <div class="">
    <p>Child 2</p>
  </div>
  <div class="">
    <p>Child 3</p>
  </div>
  <div class="mv-header-menu-accordion-2 mv-header-menu-accordion">
    <p>Parent 2</p>
  </div>
  <div class="">
    <p>Child 1</p>
  </div>
  <div class="">
    <p>Child 2</p>
  </div>
  <div class="">
    <p>Child 3</p>
  </div>
  <div class="mv-header-menu-accordion-3 mv-header-menu-accordion">
    <p>Parent 3</p>
  </div>
  <div class="">
    <p>Child 1</p>
  </div>
  <div class="">
    <p>Child 2</p>
  </div>
  <div class="">
    <p>Child 3</p>
  </div>
  <div class="mv-header-menu-accordion-4 mv-header-menu-accordion">
    <p>Parent 4</p>
  </div>
  <div class="">
    <p>Child 1</p>
  </div>
  <div class="">
    <p>Child 2</p>
  </div>
  <div class="">
    <p>Child 3</p>
  </div>
</div>

逻辑说明

  • 遍历每个菜单容器,确保不同区域的元素不会互相干扰
  • 获取当前容器内所有父级accordion元素,避免硬编码数字限制
  • 循环处理每个accordion:
    • 跳过最后一个accordion(无后续边界元素)
    • 计算当前集合编号(索引+1,对应原手动代码中的数字)
    • 用nextUntil()精准定位当前accordion与下一个accordion之间的所有子元素,批量添加目标类名

这种实现无需关心accordion的数量,自动适配任意数量的父级元素,彻底替代手动重复代码。

内容的提问来源于stack exchange,提问作者Houghtonator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:01:06