私はネイティブJavaScriptで遊んでいます。私は基本的に、追加、削除、移動、コピー、作成などの基本的なノード操作を練習しています。
移動のテスト中に、質問がありました。
上記のjsfiddleを見ると、私は「appendChild」を使用しています。どうしてノードを新しいdivに移動するのですか?ノードをコピーする場合は、ノードのクローンを作成する必要があることを知っています。「appendChild」コマンドでは見た目も音も正しくありません。
これは予想される動作ですか?
私はネイティブJavaScriptで遊んでいます。私は基本的に、追加、削除、移動、コピー、作成などの基本的なノード操作を練習しています。
移動のテスト中に、質問がありました。
上記のjsfiddleを見ると、私は「appendChild」を使用しています。どうしてノードを新しいdivに移動するのですか?ノードをコピーする場合は、ノードのクローンを作成する必要があることを知っています。「appendChild」コマンドでは見た目も音も正しくありません。
これは予想される動作ですか?
ノードは、親を 1 つだけ持つことができます。したがって、別のノードに追加すると移動します。
指定された親ノードの子のリストの最後にノードを追加します。ノードが既に存在する場合は、現在の親ノードから削除され、新しい親ノードに追加されます。
同じページから:
新しい親の下に追加する前に、cloneNode を使用してノードのコピーを作成できます。(cloneNode で作成されたコピーは自動的に同期されないことに注意してください。)
また、次の点に注意してください。
このメソッドでは、異なるドキュメント間でノードを移動することはできません。別のドキュメントからノードを追加する場合 (たとえば、AJAX 要求の結果を表示する場合) は、最初に importNode を使用する必要があります。
appendChildの w3c 仕様も読むことができます。
このノードの子のリストの最後にノード newChild を追加します。newChild がすでにツリーにある場合は、最初に削除されます。