附加/前置到容器

时间:2012-08-17 00:16:33

标签: javascript jquery html append prepend

我有以下HTML代码:

<div class="container">
    <div><div>...</div><a class="child" href="#">Example</a></div>..</div></div>
</div>
<div class="container">
    <div><div>...</div><a class="child" href="#">Example</a></div>..</div></div>
</div>
.
.
.
<div class="container">
    <div><div>...</div><a class="child" href="#">Example</a></div>..</div></div>
</div>

我有以下JavaScript脚本:

$('a.child').prependTo('div.container');

但是,此代码不是将每个a元素添加到自己的容器之前,而是将所有 a元素添加到每个的前面。容器。 我该如何解决这个问题?

谢谢!

3 个答案:

答案 0 :(得分:3)

迭代每个a.child,并在其前面添加。

$('a.child').each(function ()
{
    var $this = $(this);
    $this.prependTo($this.closest('div.container'));
});

http://jsfiddle.net/mattball/tRNUS

答案 1 :(得分:1)

您可以尝试each方法:

$('a.child').each(function(){
  $(this).prependTo($(this).closest('.container'));
})

Fiddle

答案 2 :(得分:0)

div.containera.child充当单独的选择器。他们没有关系。

您必须遍历a.child元素并选择父元素:

$('a.child').each(function() {
  var $this = $(this);

  $this.parents('div.container').prepend($this);
});