我有这段代码:
<ul class="list">
<li>
<a href="#" >
<img src="IMAGE" />
SOME TEXT
</a>
</li>
<li>
<a href="#" >
<img src="ANOTHER IMAGE" />
SOME DIFFERENT TEXT
</a>
</li>
</ul>
我想将图像预先添加到父节点,如下所示:
<ul class="list">
<li>
<img src="IMAGE" />
<a href="#" >
SOME TEXT
</a>
</li>
<li>
<img src="ANOTHER IMAGE" />
<a href="#" >
SOME DIFFERENT TEXT
</a>
</li>
</ul>
答案 0 :(得分:20)
试试这个:
$('.list > li > a > img').each(function() {
$(this).insertBefore($(this).parent());
})
http://jsfiddle.net/alnitak/3nEVz/
演示编辑我提出了一个更清洁的版本:
$('.list > li > a > img').each(function() {
$(this).parent().before(this);
})
答案 1 :(得分:3)
$('ul.list img').each(function(_, elem) {
var $elem = $(elem);
$elem.prependTo( $elem.closest('li') );
});
答案 2 :(得分:1)
试试这个:
$(function() {
$('ul.list > li > a > img').each(function() {
$(this).closest('li').prepend(this);
});
});
在行动here中查看。