2016-09-07 2 views
13

Document.importNode in specificationDocument.importNode VS Node.cloneNode(実例)

Node.cloneNode in specification

この2つの方法が同等に働きます。私はこの方法の違いを見ることができる実際の例を教えてください。

+4

現代のブラウザでは、(異なるインターフェースではっきりと定義されている以外は)違いを見ることができない可能性があります。従来、DOMではimportNodeは別のドキュメントからノードをコピーするためのものでしたが、cloneNodeは同じドキュメント内のノードのコピーを対象としていましたが、DOM4は区別できません。 – Alohci

答えて

11

アロシが正しい:web compatibility forced the browsers to implicitly adoptNode() before inserting a node into another documentのため、それほど大きな違いはありません。新しいドキュメントにクローニングされたノードを挿入する前に

は、違いがあります:あなたはnewDocument.importNode(original)を呼び出す場合cloneNode(original)によって返されたノードの所有者の文書は元のノード、および新しいドキュメントのと同じです。 ownerDocumentまたは関連するプロパティ(baseURIなど)を使用すると、この違いがわかります。

元のノードが属するドキュメントと同じドキュメントでimportNodeを呼び出すと、違いはありません。

関連する問題