Dokument: importNode()-Methode
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die importNode()
-Methode des Document
-Objekts erstellt eine Kopie eines Node
- oder DocumentFragment
-Elements aus einem anderen Dokument, um es später in das aktuelle Dokument einzufügen.
Der importierte Knoten ist noch nicht im Dokumentenbaum enthalten. Um ihn einzufügen, müssen Sie eine Einfügemethode wie appendChild()
oder insertBefore()
mit einem Knoten aufrufen, der bereits im Dokumentenbaum vorhanden ist.
Im Gegensatz zu document.adoptNode()
wird der originale Knoten nicht aus seinem ursprünglichen Dokument entfernt. Der importierte Knoten ist eine Kopie des Originals.
Syntax
importNode(externalNode)
importNode(externalNode, deep)
Parameter
externalNode
-
Der externe
Node
oderDocumentFragment
, der in das aktuelle Dokument importiert werden soll. deep
Optional-
Ein boolescher Wert, dessen Standardwert
false
ist, der steuert, ob der gesamte DOM-Unterbaum desexternalNode
in den Import einbezogen wird.- Wenn
deep
auftrue
gesetzt ist, dann werdenexternalNode
und alle seine Nachkommen kopiert. - Wenn
deep
auffalse
gesetzt ist, dann wird nurexternalNode
importiert — der neue Knoten hat keine Kinder.
- Wenn
Rückgabewert
Der kopierte importedNode
im Kontext des importierenden Dokuments.
Hinweis:
Der importedNode
hat null
als Node.parentNode
, da er noch nicht in den Dokumentenbaum eingefügt wurde!
Beispiele
const iframe = document.querySelector("iframe");
const oldNode = iframe.contentWindow.document.getElementById("myNode");
const newNode = document.importNode(oldNode, true);
document.getElementById("container").appendChild(newNode);
Anmerkungen
Bevor sie in das aktuelle Dokument eingefügt werden können, sollten Knoten aus externen Dokumenten entweder:
- mit
document.importNode()
geklont werden; oder - mit
document.adoptNode()
übernommen werden.
Hinweis: Obwohl Firefox diese Regel derzeit nicht durchsetzt, empfehlen wir Ihnen, diese Regel zu befolgen, um die zukünftige Kompatibilität zu verbessern.
Weitere Informationen zu den Fragen im Zusammenhang mit Node.ownerDocument
finden Sie in den W3C DOM-FAQ.
Spezifikationen
Specification |
---|
DOM # ref-for-dom-document-importnode① |
Browser-Kompatibilität
Siehe auch
document.adoptNode()
, welches sich sehr ähnlich wie diese Methode verhältNode.appendChild()
Node.insertBefore()