We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

El método Node.cloneNode() devuelve un duplicado del nodo en el que este método fue llamado.

Sintaxis

var dupNode = node.cloneNode(deep);
node
El nodo que se desea clonar.
dupNode
El nuevo nodo que será un clon de node
deep Optional
true si los hijos del nodo también deben ser clonados, o false para clonar únicamente al nodo.

Nota: En la especificación DOM4 (como se implementó en Gecko 13.0 (Firefox 13 / Thunderbird 13 / SeaMonkey 2.10)), deep es un argumento opcional. Si éste se omite, el método actua como si el valor se estableciera en true, estableciendo el uso de la clonación profunda como el comportamiento por defecto. Para crear un clon superficial, deep debe establecerse enfalse.

Este comportamiento ha sido modificado en la última especificación, si es omitido, el método se comportará como si deep fuerafalse. Aunque sigue siendo opcional, usted siempre debería proporcionar el argumento tanto para la compatibilidad con las nuevas y anteriores especificaciones. Con Gecko 28.0 (Firefox 28 / Thunderbird 28 / SeaMonkey 2.25 / Firefox OS 1.3)),  la consola advierte a los desarrolladores a no omitir el argumento. Desde Gecko 29.0 (Firefox 29 / Thunderbird 29 / SeaMonkey 2.26)),  una copia superficial, es el comportamiento por defecto en lugar de una copia profunda.

Ejemplo

var p = document.getElementById("para1");
var p_prime = p.cloneNode(true);

Notas

Cloning a node copies all of its attributes and their values, including intrinsic (in–line) listeners. It does not copy event listeners added using addEventListener() or those assigned to element properties. (e.g. node.onclick = fn) Moreover, for a <canvas> element, the painted image is not copied.

The duplicate node returned by cloneNode() is not part of the document until it is added to another node that is part of the document using Node.appendChild() or a similar method. It also has no parent until it is appended to another node.

If deep is set to false, child nodes are not cloned. Any text that the node contains is not cloned either, as it is contained in one or more child Text nodes.

If deep evaluates to true, the whole subtree (including text that may be in child Text nodes) is copied too. For empty nodes (e.g. <img> and <input> elements) it doesn't matter whether deep is set to true or false.

Advertencia: cloneNode() puede conducir a elementos con ID's duplicados en el documento.

If the original node has an ID and the clone is to be placed in the same document, the ID of the clone should be modified to be unique. Name attributes may need to be modified also, depending on whether duplicate names are expected.

To clone a node for appending to a different document, use Document.importNode() instead.

Especificaciones

Specification Status Comment
DOM
La definición de 'Node.cloneNode()' en esta especificación.
Living Standard  
Document Object Model (DOM) Level 3 Core Specification
La definición de 'Node.cloneNode()' en esta especificación.
Obsolete  
Document Object Model (DOM) Level 2 Core Specification
La definición de 'Node.cloneNode()' en esta especificación.
Obsolete Initial definition

Browser compatibility

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
deep as an optional parameter

(Yes)[1]

13.0 (13.0) (Yes) ?

(Yes)[1]

Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)
deep as an optional parameter ? ? 13.0 (13.0) ? ? ?

[1] Default value for the deep parameter is false.

Etiquetas y colaboradores del documento

Colaboradores en esta página: jyorch2, fewrare
Última actualización por: jyorch2,