Document: importNode()-Methode

Die importNode()-Methode des Document-Objekts erstellt eine Kopie eines Node oder eines DocumentFragment aus einem anderen Dokument, um sie später in das aktuelle Dokument einzufügen.

Der importierte Knoten ist noch nicht im Dokumentbaum enthalten. Um ihn einzufügen, müssen Sie eine Einfügemethode wie appendChild() oder insertBefore() mit einem Knoten aufrufen, der sich bereits im Dokumentbaum befindet.

Im Gegensatz zu document.adoptNode() wird der ursprüngliche Knoten nicht aus seinem ursprünglichen Dokument entfernt. Der importierte Knoten ist ein Klon des Originals.

Syntax

js
importNode(externalNode)
importNode(externalNode, deep)

Parameter

externalNode

Der externe Node oder DocumentFragment, der in das aktuelle Dokument importiert werden soll.

deep Optional

Ein boolescher Parameter, dessen Standardwert false ist, der steuert, ob der gesamte DOM-Unterbaum des externalNode beim Import eingeschlossen werden soll.

  • Wenn deep auf true gesetzt ist, werden externalNode und alle seine Nachkommen kopiert.
  • Wenn deep auf false gesetzt ist, wird nur externalNode importiert — der neue Knoten hat keine Kinder.

Rückgabewert

Der kopierte importedNode im Kontext des importierenden Dokuments.

Hinweis: importedNode's Node.parentNode ist null, da es noch nicht in den Dokumentbaum eingefügt wurde!

Beispiele

js
const iframe = document.querySelector("iframe");
const oldNode = iframe.contentWindow.document.getElementById("myNode");
const newNode = document.importNode(oldNode, true);
document.getElementById("container").appendChild(newNode);

Hinweise

Bevor sie in das aktuelle Dokument eingefügt werden können, sollten Knoten aus externen Dokumenten entweder:

  • geklont werden, indem document.importNode() verwendet wird; oder
  • adoptiert werden, indem document.adoptNode() verwendet wird.

Hinweis: Obwohl Firefox diese Regel derzeit nicht durchsetzt, empfehlen wir Ihnen, diese Regel für eine verbesserte zukünftige Kompatibilität zu befolgen.

Für mehr Informationen zu Node.ownerDocument--Problemen, siehe die W3C DOM FAQ.

Spezifikationen

Specification
DOM Standard
# ref-for-dom-document-importnode①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch