mozilla
Os seus resultados da pesquisa

    element.cloneNode

    Resumo

    Retorna a cópia de um elemento.

    Syntax

    dupNode = element.cloneNode(deep);
    
    • dupNode é variavél que receberá o nó gerado
    • element é o elemento pai (o elemento que contém o nó que será copiado)
    • deep é uma valor boleano, obrigatório que indica de o a clone vai ser completo ou não (ver notas).

    Example

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

    Notas

    Clonando um nó copiamos todos seus atributos e seus respectivos valores

    O nó clonado retornado por cloneNode não faz parte do documento enquanto não for adicionado a um outro nó que faça parte do documento usando appendChild ou outro método similar. Enquanto não for adicionado a um outro nó, será um nó sem pai. Ou seja, o clone não herda o pai do original.

    Se deep for false, nada sobre os nós filhos será clonado. Qualquer texto contido no nó não será clonado junto, já que o texto fica contido em nós de texto.

    Se deep for true, toda a subárvore (incluíndo texto) é copiado também. Para nós vazios (como os elementos IMG e INPUT) não importa qua valor que você coloque em deep, mas você ainda deve definir um valor

    Note que o cloneNode pode causar o problema de termos dois elementos com um mesmo id em um documento!

    Somente os eventos colocados em atributos inline são copiados. Os eventos adicionados após a renderização do nó via javascript não são copiados.

    var elms = document.getElementById('foo');
    elms.onclick = function(){ 
    	alert('Eu não deveria ser copiado?');
    }
    var g = elms.cloneNode(true);
    g.id = 'foo2';
    g.style.top = '0px';
    document.body.appendChild(g);
    

    No trecho de código acima o atributo onclick não é copiado. Nem mesmo com addEventListener.

    Especificação

    DOM Level 2 Core: cloneNode

    Etiquetas do documento e colaboradores

    Última atualização por: guerreirogabriel,