--- title: Document.importNode() slug: Web/API/Document/importNode translation_of: Web/API/Document/importNode ---
{{APIRef("DOM")}}
Crea una copia de un nodo desde un documento externo para ser insertado en el documento actual.
var node = document.importNode(externalNode, deep);
node
parentNode
del nuevo nodo es null
, ya que aun no ha sido insertado en el arbol del documento.externalNode
deep
Nota: En la especificación DOM4 (tal y como se ha implementado en Gecko 13.0 {{geckoRelease(13)}}), deep
es un argumento opcional. En el caso de ser omitido, adopta el valor de true
, por lo que se hace una deep copy por defecto. Para realizar una copia superficial (shallow copy), deep debe ser false
.
Este comportamiento ha cambiado en la ultima especificación, por lo que si se omite el parámetro deep, éste adopta el valor false
. Aunque aún es opcional, debería ser siempre provisto por razones de compatibilidad. Con Gecko 28.0 {{geckoRelease(28)}}, la consola advertia a los desarrolladores de no omitir el argumento. Empezando con Gecko 29.0 {{geckoRelease(29)}}), se realiza una copia superficial (shallow copy) por defecto.
var iframe = document.getElementsByTagName("iframe")[0]; var oldNode = iframe.contentWindow.document.getElementById("myNode"); var newNode = document.importNode(oldNode, true); document.getElementById("container").appendChild(newNode);
El nodo original no se borra del documento. El nodo importado es un clon del original.
Nodes from external documents should be cloned using document.importNode()
(or adopted using document.adoptNode()
) before they can be inserted into the current document. For more on the Node.ownerDocument
issues, see the W3C DOM FAQ.
Firefox doesn't currently enforce this rule (it did for a while during the development of Firefox 3, but too many sites break when this rule is enforced). We encourage Web developers to fix their code to follow this rule for improved future compatibility.
Specification | Status | Comment |
---|---|---|
{{SpecName("DOM WHATWG", "#dom-document-importnode", "document.importNode()")}} | {{Spec2("DOM WHATWG")}} | |
{{SpecName("DOM2 Core", "core.html#Core-Document-importNode", "document.importNode()")}} | {{Spec2("DOM2 Core")}} | Initial definition |
{{Compat("api.Document.importNode")}}