2010-11-18 6 views
3

要素の内容をクラスで複製してそれをそれ自体に入れる方法は?
ここは例です。私はクラスを持つ要素を複製する

$('.cloneThis', this).append('<span>'+$('.cloneThis', this).html()+'</span>'); 

のようなものを試してみましたが、それは、クラスの最初の要素を返し、他のすべてにそれを置く結果は

<div class="cloneThis">one<span>one</span></div> 
<div class="cloneThis">two<span>two</span></div> 

ようにする必要があり

<div class="cloneThis">one</div> 
<div class="cloneThis">two</div> 

:我々はこれを持っています。これを解決する方法はありますか?

答えて

3
$('.cloneThis', this).each(function() { 
$(this).append('<span>' + $(this).html() + '</span>'); 
}); 
+0

うわー!どうもありがとう!できます! :) – elrocie

2

.append()このように、機能をとります。

$('.cloneThis').append(function(i, html) { return $('<span>').html(html); }); 
//or: 
$('.cloneThis').append(function(i, html) { return $('<span>', { html:html }); }); 

You can test it out here

+0

いいですが、実際にはそうではないのに、彼らが必要と思っていない限り、 'this 'の文脈引数を忘れました。 – alex

+0

@alex - ここでは必要ないとは思いますが、最初のセレクタを '$(this).find( '。cloneThis')'に変更することができます。必要な場合は –

+0

Thanx a lot!それもうまくいきます:) – elrocie

関連する問題