Document.adoptNode() transfiere un node desde otro document al documento del método. El nodo adoptado y sus subnodos se eliminan del documento original (si lo hubiera), encuentra  y su ownerDocument se cambia por el documento actual. El nodo puede entoces ser insertado en el documento actual.

Sintaxis

node = document.adoptNode(externalNode);
node
El nodo adoptado que ahora tiene este documento como su ownerDocument. El parentNode del nodo es null, esto se debe a que aún no a sido insertado en el árbol del documento. Tenga en cuenta que node y externalNode son el mismo objeto después de esta llamada.
externalNode
El nodo a ser adoptado desde otro documento.

Ejemplo

var iframe = document.querySelector('iframe');
var iframeImages = iframe.contentDocument.querySelectorAll('img');
var newParent = document.getElementById('images');

iframeImages.forEach(function(imgEl) {
  newParent.appendChild(document.adoptNode(imgEl));
});

Notas

Los nodos de documentos externos deberían ser clonados utilizando document.importNode() (o adoptado utilizando document.adoptNode()) antes de que puedan ser insertados en el documento actual. Para más incidencias sobre Node.ownerDocument, vea el W3C DOM FAQ.

Firefox actualmente no obliga a cumplir esta regla (lo hizo un tiempo durante el desarrollo de Firefox 3, pero muchos sitios se rompían cuando esta regla era obligatoria). Animamos a los desarrolladores web a que corrijan su código para seguir esta regla con el fin de mejorar la compatibilidad futura.

Epecificación

Compatibilidad con navegadores

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Soporte básicoChrome Soporte completo SiEdge ? Firefox Soporte completo SiIE ? Opera ? Safari ? WebView Android Soporte completo SiChrome Android Soporte completo SiEdge Mobile ? Firefox Android Soporte completo SiOpera Android ? Safari iOS ? Samsung Internet Android ?

Leyenda

Soporte completo  
Soporte completo
Compatibility unknown  
Compatibility unknown

Vea también

Etiquetas y colaboradores del documento

Colaboradores en esta página: AlePerez92, InfaSysKey, ANDRUS74
Última actualización por: AlePerez92,