Profonde clonage vs réglage de innerHTML: quel est le plus rapide?

Je suis à essayer de comprendre les plus performantes moyen de profondeur de clonage d'une arborescence DOM dans le navigateur.

Si je démarre avec

var div = document.getElementById("source");
var markup = div.innerHTML;

Ce sera plus rapide,

var target = div.cloneNode(true);

ou

var target = document.cloneNode(false);
target.innerHTML = markup;

Je comprends la plateforme de navigateur peut faire une grande différence ici, donc toute information sur comment ces comparer dans le monde réel serait appréciée.

  • Je ne comprends pas ce que vous cherchez. Vous voulez cloner un élément? var target = div.cloneNode(true); fait juste cela. Quel est le clonage d'avoir à faire avec innerHTML?
  • Les résultats spécifiques dépendra de votre navigateur, mais j'ai trouvé deux tests pertinents à jsPerf ici et ici.
  • innerHTML détruit les écouteurs d'événement, ne l'utilisez pas.
InformationsquelleAutor levik | 2009-03-24