I need tips on optimizing a large DOM insert to lessen the "freeze" on the browser.
Scenario: I receive a large amount of JSON 'data' through AJAX from a database (sorted the way I want viewed), and loop through them to add to a JS string, and insert that chunk of string into a tbody of a table. Then, I run a plug-in that formats the table (with pagination, etc.). Simplified sample code: var html = ''; $.each(data, function(i, row) { html += '<tr><td>data from json</td></tr>'; }); $("tbody").append(html); $("table").formatTable(); formatTable() requires that the table has to be "completed" before it can be executed. Is there any way I can optimize this better? I think I've read somewhere that making a string too long is not good, but I've also read that updating the DOM on each iteration is even worst. Any advice would be appreciated!