0

コンテンツ、フォーム要素、および添付されたイベントを含む div を複製しようとしています。div を複製したら、名前を変更したいと思います。問題は、ソース div を複製した div の名前を変更すると、名前も変更されることです。すべてのイベントが添付された既存の div のクローンを作成し、すべて同じ特性を持つ新しいものを別の名前で作成する最も効率的な方法は何ですか?

私はjquery 1.6を使用しています

以下を使用してアイテムを正常に複製できますが、名前を変更しようとすると、ソースの名前も変更されます。

var $oldObject = $('#tabs-1');

var newObject = jQuery.extend(true, {}, $oldObject);
newObject.attr('id',"newid");

<div id="tabs-1">
<fieldset>
<div>
<input id="Radio1" type="radio" /> 
</div>
</fieldset>
</div>
4

2 に答える 2

1

現在のコードは、要素自体ではなく、要素を表すjQuery構造をディープコピーしているだけです。したがって、呼び出す.attr()と、変更されたのは元の要素のままです。

HTML要素とそのイベントを正しく複製するには、次のようにします。

var $oldObject = $('#tabs-1');
var $newObject = $oldObject.clone(true);

$newObject.attr('id', 'newid');

詳細については、 http://api.jquery.com/clone/を参照してください。

于 2011-11-02T09:46:19.983 に答える
0

クローンを試しましたか?http://api.jquery.com/clone/

于 2011-11-02T09:46:24.920 に答える