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 Juli 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
NodeoderDocumentFragment, der in das aktuelle Dokument importiert werden soll. deepOptional-
Ein boolescher Wert, dessen Standardwert
falseist, der steuert, ob der gesamte DOM-Unterbaum desexternalNodein den Import einbezogen wird.- Wenn
deepauftruegesetzt ist, dann werdenexternalNodeund alle seine Nachkommen kopiert. - Wenn
deepauffalsegesetzt ist, dann wird nurexternalNodeimportiert — 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
Loading…
Siehe auch
document.adoptNode(), welches sich sehr ähnlich wie diese Methode verhältNode.appendChild()Node.insertBefore()