0

同じクラスのDOM要素を再帰的に移動するにはどうすればよいですか?? たとえば、DOMにこのコードがあります

<div class="container">
   <div class="mask">
        Content 1
    </div>
   <div class="thumbnail">
      some content here...
    </div>
</div>

<div class="container">
   <div class="mask">
        Content 2
    </div>
   <div class="thumbnail">
      some content here...
    </div>
</div>

<div class="container">
   <div class="mask">
        Content 3
    </div>
   <div class="thumbnail">
      some content here...
    </div>
</div>

コードが次のようになるように、マスク クラスの div をサムネイル クラスの div 内に移動します。

<div class="container">
   <div class="thumbnail">
     <div class="mask">
          Content 1
      </div>
      some content here...
    </div>
</div>

<div class="container">
   <div class="thumbnail">
     <div class="mask">
         Content 2
      </div>
      some content here...
    </div>
</div>

<div class="container">
   <div class="thumbnail">
     <div class="mask">
          Content 3
      </div>
      some content here...
    </div>
</div>

私はjqueryでこれをやろうとしています:

$('.mask').prependTo('.thumbnail');

しかし、成功しません。すべてのサムネイルに「コンテンツ 1」がコピーされています

誰か助けてください。

4

2 に答える 2

0

とてもシンプルです。これを試して:

$(".mask").siblings(".thumbnail").prepend($(".mask"));

.mask と .thumbnail の間に要素がほとんどない場合でも機能します!

アップデート:

場合によっては、すべての要素に対してそれを行いたい:

$(".mask").each(function() {
  $(this).siblings(".thumbnail").prepend(this);
});
于 2012-11-30T14:42:00.323 に答える
0

.maskこれにより、すべての s がすべての s に移動し.thumbnailます。代わりに、.each各要素を個別に扱うために使用します。

$(".mask").each() {
  $(this).next(".thumbnail").prepend(this);
});
于 2012-11-30T14:21:55.467 に答える