首页 > 解决方案 > 将类的子类克隆到类中

问题描述

我有以下 html 标记。

<div class="master">
  <div class="item master-line"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item master-line"></div>
  <div class="item"></div>
</div>

我需要将主线的子项/子项克隆到主线类中。

我已经尝试过,但不起作用。而且我不确定这可能是最好的方法:

$.each($('.item'), function(index, value){
        if($(value).hasClass('master-line')){    
         console.log($(value).next().find('.component_table_item'));
        }
    });

不幸的是,无法更改 html 标记(这将是可取的)。

结束标记应如下所示:

<div class="master">
  <div class="item master-line">
   <div class="item"></div>
   <div class="item"></div>
  </div>
  <div class="item master-line">
   <div class="item"></div>
  </div>
</div>

https://jsfiddle.net/tLhqkjoh/

标签: jqueryclonechildren

解决方案


使用以下代码:

$.each($('.item.master-line'), function(index, value) {
  $(this).nextUntil(".master-line").appendTo($(this));
});

演示

$.each($('.item.master-line'), function(index, value) {
  $(this).nextUntil(".master-line").appendTo($(this));
});

console.log($(".master").html().trim());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="master">
  <div class="item master-line"></div>
  <div class="item"></div>
  <div class="item"></div>
  <div class="item master-line"></div>
  <div class="item"></div>
</div>


推荐阅读