I have following html markup.
<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>
I need to clone the items children/sub of the master-line into the master-line class.
What I have tried, but does not work. And I am not sure it might be the best method:
$.each($('.item'), function(index, value){
if($(value).hasClass('master-line')){
console.log($(value).next().find('.component_table_item'));
}
});
Unfortunately it is not possible to change the html markup (which would be preferable).
The end markup should look something like this:
<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>
Use the following code:
$.each($('.item.master-line'), function(index, value) {
$(this).nextUntil(".master-line").appendTo($(this));
});
demo
$.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>