我似乎无法让appendTo工作。我做错了什么?
$('div:nth-child(2n) img').appendTo(parent);
当前加价:
<div class="container">
<img src="123.jpg" />
<p>Hey</p>
</div>
<div class="container">
<img src="123.jpg" />
<p>Hey</p>
</div>
我想要这个输出:
<div class="container">
<p>Hey</p>
<img src="123.jpg" />
</div>
<div class="container">
<p>Hey</p>
<img src="123.jpg" />
</div>
请帮助我们......我每分钟都在撕扯我的头发..:-S
答案 0 :(得分:27)
以下内容应该足够了:
$("div>img").each(function(){
$(this).appendTo($(this).parent());
});
在此处查看:http://jsfiddle.net/EtxqL/
您不能将'selector'参数中的每个项目的父项推断为appendTo()。执行所需操作的唯一方法是遍历项目,将每个项目附加到其父项。查看以下链接中的API。
答案 1 :(得分:5)
这就是你要追求的吗?
$('.container > img').each(function () {
$(this).parent().append(this);
});
它只需要在每个容器中取<img>
并作为容器的第一个子进行移动。
答案 2 :(得分:2)
您可以使用.prepend()代替追加 在父节点的末尾追加插入。 但是在父节点的开头插入插入。 那就像:
$('.container > p').each(function () {
$(parent).prepend(this);
});
答案 3 :(得分:0)
我做了一个little example,我希望你的意思是同样的......
$(document).ready(function() {
$('.container > img').each(function() {
$(this).parent().append(this);
});
});