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 に答える