jQuery und anfügen von großen Mengen von HTML

Ich bin gekommen, um zu finden, dass mithilfe von jQuery zu erstellen, die HTML-client-Seite können Sie einen enormen performance-booster-wenn es richtig gemacht wird. Ich benutze AJAX-Rückgabe JSON abrufen, dynamische Inhalte und dann Baue ich die relevanten HTML-und einfügen mit jQuery. Das erste mal, dass ich ein Durcheinander mit dieser Technik fand ich, dass der string concatenator im IE JavaScript erfolgt sehr langsam, so dass der Aufbau einer dynamischen Tabelle mit mehr als 50 Zeilen durchgeführt furchtbar.

var shtml = '<table>';
for (var i = 0; i < 100; i++) {
  shtml += '<tr><td>A bunch of content</td></tr>';
}
shtml += '</table>';
$('#myTable').append(shtml);

Dann fand ich eine Technik, die für die string-Verkettung, die alles verändert. Anstelle der Verwendung der sting += Betreiber arrays zu tun Verkettung;

var shtml = ['<table>'];
for (var i = 0; i < 100; i++) { 
  shtml.push('<tr><td>A bunch of content</td></tr>');
}
shtml.push('</table>');
$('#myTable').append(shtml.join(''));

Fand ich, dass die performance deutlich verbessert. Nun gibt es jedoch eine Obergrenze von etwa 100 Zeilen, bevor ich anfange zu sehen, der browser selbst den Kampf mit dynamisch einfügen, so viel Inhalt auf einmal. Hat jemand irgendwelche Hinweise oder Techniken, die verwendet werden können, um mir zu helfen erreichen die nächste performance-Schub für große Mengen von dynamischen HTML?

  • Eine Beobachtung: In Ihrem Beispiel, Sie sind wirklich zu zeigen, eine Leistungssteigerung durch Javascript-native string-und array-handling, nicht jQuery.
Schreibe einen Kommentar