jQuery:appendTo parent

时间:2011-01-13 12:14:42

标签: jquery append appendto

我似乎无法让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

4 个答案:

答案 0 :(得分:27)

以下内容应该足够了:

$("div>img").each(function(){
    $(this).appendTo($(this).parent());
});

在此处查看:http://jsfiddle.net/EtxqL/

您不能将'selector'参数中的每个项目的父项推断为appendTo()。执行所需操作的唯一方法是遍历项目,将每个项目附加到其父项。查看以下链接中的API。

.appendTo() API

.each 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);
    });
});