2016-07-14 4 views
0

Ниже приведена моя ситуация и то, что я хочу, чтобы конечный результат был. Я пробовал использовать wrapAll() для .B, но в итоге он группировал каждый .B div в один. Я не могу изменить html, поэтому я должен сделать это через jquery. Благодаря!Обтекание divs внутри div с jquery

<div class="parent"> 

    <div class="A"></div> 
    <div class="B"></div> 
    <div class="B"></div> 

    <div class="A"></div> 
    <div class="B"></div> 
    <div class="B"></div> 

    <div class="A"></div> 
    <div class="B"></div> 
    <div class="B"></div> 


</div> 

Что я хочу в архиве:

<div class="parent"> 

<div class="A"></div> 
<div> 
    <div class="B"></div> 
    <div class="B"></div> 
</div> 

<div class="A"></div> 
<div> 
    <div class="B"></div> 
    <div class="B"></div> 
</div> 

<div class="A"></div> 
<div> 
    <div class="B"></div> 
    <div class="B"></div> 
</div> 

</div> 
+0

Пожалуйста, создайте [Minimal, полный и проверяемый пример] (http://stackoverflow.com/help/mcve), чтобы позволить нам он lp вы более эффективно (подумайте о компиляции ваших кодов в [фрагменте] (https://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/) или [jsfiddle] (https://jsfiddle.net)) – RDardelet

ответ

0

Сначала необходимо выбрать все .A элементы, то для каждого из них вы будете искать для всех братьев и сестер, пока вы не найдете другого .A с помощью .nextUntil и деформировать их в div

$('.A').each(function() { 
    console.log($(this).nextUntil('.A').wrapAll('<div>')) 
}) 
+0

именно то, что мне нужно! Узнал что-то новое! – PatrickC

Смежные вопросы