1. ホーム
  2. javascript

[解決済み] JavaScriptでhtml要素オブジェクトをクローンすることは可能ですか?

2022-09-10 22:59:45

質問

私はテーブルの中にhtml要素(セレクトボックスの入力フィールドのようなもの)を持っています。今、私はオブジェクトをコピーして、コピーから新しいものを生成したい、そしてそれはJavaScriptまたはjQueryで行われます。私はこれが何とか動作するはずだと思うが、私は今少し無知である。

こんな感じ(疑似コード)。

oldDdl = $("#ddl_1").get(); 

newDdl = oldDdl;

oldDdl.attr('id', newId);

oldDdl.html();

どのように解決するのですか?

あなたのコードを使えば、プレーンなJavaScriptでこのようなことができます。 cloneNode() メソッドを使うことで、このようなことができます。

// Create a clone of element with id ddl_1:
let clone = document.querySelector('#ddl_1').cloneNode( true );

// Change the id attribute of the newly created element:
clone.setAttribute( 'id', newId );

// Append the newly created element on element p 
document.querySelector('p').appendChild( clone );

または、jQueryを使って clone() メソッド(最も効率的ではありません)を使用することもできます。

$('#ddl_1').clone().attr('id', newId).appendTo('p'); // append to where you want