Клонирование подклассов класса в класс - PullRequest
0 голосов
/ 28 мая 2018

У меня есть следующая 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/

1 Ответ

0 голосов
/ 28 мая 2018

Используйте следующий код:

$.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>
...