Я использую jQuery. У меня есть функция веб-сайта, которая выполняет поиск ajax и возвращает результат JSON. Затем обратный вызов ajax заполняет строки таблицы результатами. Как правило, в поиске вставляется 100 строк. В каждой строке содержится достаточное количество данных.
Код выглядит примерно так (очень сокращенно):
function search() {
$.post("/search.php", { params: search_params }, searchDone, "json");
}
function searchDone(json) {
var $table = $("#result_table");
var html = "";
for(i=0; i < json.results.length; i++) {
html += rowHtml(results[i]);
}
$table.append(html);
}
function rowHtml(result) { /* much simplified version */
var html = "<tr><td>";
html += result.field1;
html += "</td><td>";
html += result.field2;
html += "</td></tr>";
return html;
}
Производительность низкая. Браузер имеет тенденцию блокироваться, когда html добавляется к таблице.
Какой-нибудь совет, как это оптимизировать? Было бы лучше для меня создать dom-узлы, чем пытаться заставить jQuery отображать HTML-код?