【问题标题】:Wrap group of divs until next class将一组 div 包装到下一堂课
【发布时间】:2014-09-22 14:40:00
【问题描述】:

我有以下;

<div class="content">
  <div class="row morepad">
    <a href="#">Association 1</a>
  </div>
  <div class="row">
   <a href="#">Association 2</a>
  </div>
  <div class="row morepad">
    <a href="#">Association 3</a>
  </div>
  <div class="row">
    <a href="#">Association 4</a>
  </div>
</div>

我正在尝试根据第一个 morepad 将它们分组,如下所示。

<div class="content">
 <div>
  <div class="row morepad">
    <a href="#">Association 1</a>
  </div>
  <div class="row">
   <a href="#">Association 2</a>
  </div>
 </div>
 <div>
  <div class="row morepad">
    <a href="#">Association 3</a>
  </div>
  <div class="row">
    <a href="#">Association 4</a>
  </div>
 </div>
</div>

我尝试了以下方法:

$('.morepad').each(function() {
      $(this).nextUntil('.morepad').wrapAll('<div></div>');
  });

【问题讨论】:

  • 您还需要包含 source morepad,尝试$(this).nextUntil('.morepad').addBack().wrapAll('&lt;div&gt;&lt;/div&gt;'); .addBack().add(this) 应该会有所帮助。

标签: jquery wrapall nextuntil


【解决方案1】:

jQuery

$('.morepad').each(function() {
      $(this).nextUntil('.morepad').andSelf().wrapAll('<div></div>');
  });

您需要添加 addSelf 以便它包含两端只是 wrapALl 将只包含中间的元素

工作Jsfiddle链接

【讨论】:

  • 是的,刚刚看到在较新版本的 jquery 中 addSelf 被 addBack 取代
  • 优秀。像魅力一样工作。谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-12-05
  • 2010-12-31
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
  • 2019-10-28
  • 1970-01-01
  • 2010-10-16
相关资源
最近更新 更多