пожалуйста, помогите мне, мне нужно заменить метки (switch) в структуре DOM. У меня есть это:
<div class="wrap">
<ul>
<li>
<div class="block">
<div class="title">title 1</div>
<div class="image">image 1 for title 1</div>
</div>
</li>
<li>
<div class="block">
<div class="title">title 2</div>
<div class="image">image 2 for title 2</div>
</div>
</li>
<li>
<div class="block">
<div class="title">title 3</div>
<div class="image">image 3 for title 3</div>
</div>
</li>
<li>
<div class="block">
<div class="title">title 4</div>
<div class="image">image 4 for title 4</div>
</div>
</li>
</ul>
</div>
И мне нужно это в результате, как мне его получить?
<div class="wrap">
<ul>
<li>
<div class="block">
<div class="image">image 1 for title 1</div>
<div class="title">title 1</div>
</div>
</li>
<li>
<div class="block">
<div class="image">image 2 for title 2</div>
<div class="title">title 2</div>
</div>
</li>
<li>
<div class="block">
<div class="image">image 3 for title 3</div>
<div class="title">title 3</div>
</div>
</li>
<li>
<div class="block">
<div class="image">image 4 for title 4</div>
<div class="title">title 4</div>
</div>
</li>
</ul>
</div>
Я пытался использовать jQuery .each()
но в результате я получаю структуру, подобную этой
название 1
изображение 4
название 2
изображение 4
название 3
изображение 4
Вы можете использовать insertBefore()
$.each($('.wrap .image'), function() {
$(this).insertBefore($(this).prev());
});
Btw, ваша разметка HTML недопустима, вы должны закрыть div с title
класса, используя </div>
и я исправил его для вас в демо.