clone (true) + remover () vs. Detach () em jQuery
Pergunta
É o uso de
e = elem.clone(true);
elem.remove();
Idêntico a
e = elem.detach();
Se mais tarde eu o anexar com
e.appendTo($("#someDiv"));
No jQuery 1.4?
O método clone (True) preservará tudo o que usa DetArt ()?
Solução
O mesmo, mas diferente: se você apenas clonar um nó sem atribuí -lo a uma variável, perderá a referência do nó copiado e, portanto, qualquer chance de ganhar a mão nos manipuladores de eventos e outros dados (não é verdade, mas é uma pita).
EDITAR
Sim, mantendo uma referência ao elemento clonado, você tem uma cópia exata (lembre -se do param verdadeiro) que pode ser mais tarde anexado ao DOM.
Outras dicas
Do jeito que eu li, essas seriam abordagens equivalentes:
A partir de Documentação para Detach ():
O método .detach () é o mesmo que .remove (), exceto que .detach () mantém todos os dados do jQuery associados aos elementos removidos. Este método é útil quando os elementos removidos devem ser reinseridos no DOM posteriormente.
A partir de Documentação para Clone ():
.clone ([withdataandevents])
WithDataandevents Um booleano indicando se os manipuladores de eventos devem ser copiados junto com os elementos. Até o jQuery 1.4, os dados de elementos também serão copiados.