3

我有以下 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元素添加到每个容器中。我怎样才能解决这个问题?

谢谢!

4

3 回答 3

3

遍历每个a.child,并将其添加到前面。

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

http://jsfiddle.net/mattball/tRNUS

于 2012-08-17T00:19:18.157 回答
1

你可以试试这个each方法:

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

小提琴

于 2012-08-17T00:19:38.927 回答
0

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

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

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

  $this.parents('div.container').prepend($this);
});
于 2012-08-17T00:20:37.397 回答