ich gekommen, um zu finden, dass jQuery HTML-Client-Seite erstellen kann eine große Leistung Booster sein, wenn es richtig gemacht. Ich verwende AJAX, das JSON zurückgibt, um dynamischen Inhalt abzurufen, und dann baue ich das relevante HTML und füge es mit jQuery ein. Als ich das erste Mal mit dieser Technik zu tun hatte, stellte ich fest, dass der String-Konkatenator in IEs JavaScript sehr langsam lief, so dass das Erstellen einer dynamischen Tabelle mit mehr als 50 Zeilen schrecklich war.jQuery und Anhänge große Mengen an HTML
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 für String-Verkettung, die alles verändert. Anstatt den Stacheloperator +=
zu verwenden, verwenden Sie Arrays, um Verkettungen durchzuführen.
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(''));
Ich fand, dass die Leistung deutlich verbessert. Jetzt gibt es jedoch eine Obergrenze von etwa 100 Zeilen, bevor ich anfange zu sehen, dass der Browser selbst mit dem dynamischen Einfügen von so viel Inhalt auf einmal zu kämpfen hat. Hat jemand irgendwelche Zeiger oder Techniken, mit denen ich den nächsten Leistungsschub für große Mengen von dynamischem HTML erreichen kann?
Eine Beobachtung: In Ihrem Beispiel sind Sie wirklich eine Leistungssteigerung aufgrund Javascript nativen String und Array-Handling, nicht jQuery zeigt. –