Вы можете делать тесты для любых сравнений, например:
function test( name, fn, n, next ) {
var n = n || 100; // default number of runs
var start, end, elapsed;
setTimeout(function() {
start = Number(new Date());
for ( ; n--; ) {
fn()
}
end = Number(new Date());
elapsed = end - start;
// LOG THE RESULT
// can be: $("#debug").html(name + ": " + elapsed + " ms");
console.log(name + ": " + elapsed + " ms"));
next && next();
}, 0);
}
test("append", function() {
$("#elem").append( LARGE HTML );
});
test("html", function() {
$("#elem").html( LARGE HTML );
});
Я бы попробовал создать новый элемент и установить его html в большой кусок, а затем добавить этот элемент в dom. По моему мнению, это будет быстрее, потому что при применении html элемент не виден, поэтому браузер может работать быстрее, и тогда ему нужно добавить только один элемент в DOM.
См. Это в действии. (просмотр клика)
(кажется, что html () быстрее)