aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/api/document/adoptnode/index.html
blob: 0a906797562d4e0f3f22091f9ce562014c8b6b83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
---
title: Document.adoptNode()
slug: Web/API/Document/adoptNode
tags:
  - API
  - DOM
  - DOM Reference
  - Referencia
  - metodo
translation_of: Web/API/Document/adoptNode
---
<div>{{ ApiRef("DOM") }}</div>

<p><strong><code>Document.adoptNode()</code></strong> transfiere un {{Glossary("node/dom", "node")}} desde otro {{domxref("Document", "document", "", "1")}} al documento del método. El nodo adoptado y sus subnodos se eliminan del documento original (si lo hubiera), encuentra  y su {{domxref("Node.ownerDocument", "ownerDocument")}} se cambia por el documento actual. El nodo puede entoces ser insertado en el documento actual.</p>

<h2 id="Sintaxis">Sintaxis</h2>

<pre class="syntaxbox"><em>node</em> = <em>document</em>.adoptNode(<em>externalNode</em>);
</pre>

<dl>
 <dt><code>node</code></dt>
 <dd>El nodo adoptado que ahora tiene este documento como su {{domxref("Node.ownerDocument", "ownerDocument")}}. El {{domxref("Node.parentNode", "parentNode")}} del nodo es <code>null</code>, esto se debe a que aún no a sido insertado en el árbol del documento. Tenga en cuenta que <code>node</code> y <code>externalNode</code> son el mismo objeto después de esta llamada.</dd>
 <dt><code>externalNode</code></dt>
 <dd>El nodo a ser adoptado desde otro documento.</dd>
</dl>

<h2 id="Ejemplo">Ejemplo</h2>

<pre class="brush: js">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));
});
</pre>

<h2 id="Notas">Notas</h2>

<p>Los nodos de documentos externos deberían ser clonados utilizando {{domxref("document.importNode()")}} (o adoptado utilizando <code>document.adoptNode()</code>) antes de que puedan ser insertados en el documento actual. Para más incidencias sobre {{domxref("Node.ownerDocument")}}, vea el <a class="external" href="http://www.w3.org/DOM/faq.html#ownerdoc" rel="noopener">W3C DOM FAQ</a>.</p>

<p>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.</p>

<h2 id="Epecificación">Epecificación</h2>

<ul>
 <li><a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Document3-adoptNode">DOM Level 3 Core: Document.adoptNode</a></li>
</ul>

<h2 id="Compatibilidad_con_navegadores">Compatibilidad con navegadores</h2>

<div class="hidden">La tabla de compatibilidad en esta página se genera a partir de datos estructurados .Si desea contribuir con los datos, por favor ingrese a  <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> y envie una solicitud para adicionar los datos.</div>

<p>{{Compat("api.Document.adoptNode")}}</p>

<h2 id="Vea_también">Vea también</h2>

<ul>
 <li>{{domxref("document.importNode")}}</li>
</ul>