Cómo aumentar la velocidad de append() en jQuery

Un bajo rendimiento o lentitud con el uso de append() y el DOM es común cuando se manejan datos grandes o medianos o en bastante cantidad. Veamos cómo aumentar la velocidad de append() en jQuery

La velocidad se merma al analizar y modificar el DOM, que se realiza por cada invocación a la función append(). Por lo que se debe, y se puede, reducir al mínimo. Por ejemplo:

Lento

$.each(data,function(index,value) { 
  // Por cada valor, un append() 
  $('#elemento').append('Dato #'+index+': '+data[index].propiedad); 
});

Optimizado con un buffer

var output = ""; 
$.each(data,function(index,value) { 
 // Volcado a una variable 
 output += 'Dato #'+index+': '+data[index].propiedad; 
}); 
// Un unico output 
$('#elemento').append(output);

En este último ejemplo, la variable output puede contener HTML en String como es el caso, o bien elementos DOM.

Como nota final, en una determinada prueba con +3.000 registros, ¡el tiempo se reducía en un 78%!

David Burgos

Read more posts by this author.