Tiefes Klonen vs setzen von innerHTML: was ist schneller?

Ich versuche, herauszufinden, die meiste leistungsfähige Weise, von tief-Klonen ein DOM-Baum im browser.

Wenn ich beginnen mit

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

Was wird schneller sein,

var target = div.cloneNode(true);

oder

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

Verstehe ich die browser-Plattform können einen großen Unterschied machen hier, also keine Informationen darüber, wie diese zu vergleichen, in der realen Welt würde geschätzt.

  • Ich verstehe nicht, was Sie suchen. Sie möchten, um ein element zu Klonen? var target = div.cloneNode(true); genau das Tat. Was bedeutet Klonen zu tun haben, mit innerHTML?
  • Die konkreten Ergebnisse hängen von Ihrem browser, aber ich fand zwei relevanten tests bei jsPerf hier und hier.
  • innerHTML zerstört-Ereignis-Listener, verwenden Sie es nicht.
InformationsquelleAutor levik | 2009-03-24
Schreibe einen Kommentar