请帮帮我,我需要在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(),但结果我得到了这样的结构
发布于 2014-03-03 15:58:43
试试.before()
$('.block .title').before(function(){
return $(this).next()
})演示:小提琴
发布于 2014-03-03 15:56:43
您可以使用insertBefore()
$.each($('.wrap .image'), function() {
$(this).insertBefore($(this).prev());
});顺便说一句,您的HTML标记是无效的,您应该正确地使用title类关闭div,并且我已经在演示中为您修复了它。
小提琴演示
https://stackoverflow.com/questions/22151239
复制相似问题