Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/05/2012, 18:32
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Generando HTML masivo

buenas,
puedes optar por crear el contenido en un elemento temporero y luego lo agregas al destino mediante métodos del DOM. en tu caso particular no te recomendaría usar innerHTML como lo haz estado haciendo hasta ahora. principalmente por dos razones: el rendimiento y la posibilidad de corromper parte de la aplicación. innerHTML te da la facilidad de reconstruir el DOM de forma rápida, lo cual es beneficioso y requiere menos líneas de código para escribir. pero en tu caso, requieres traer nuevo contenido y agregarlo sobre el ya presente. esto generaría cierta sobrecarga innecesaria ya que el navegador tiene que volver a reconstruir el DOM de un contenido que ya estaba presente. es por eso que no te recomiendo usar innerHTML en ese elemento particular.

las soluciones... de momento se me ocurren dos. el elemento temporero o un fragmento de documento (DocumentFragment), pero este último no tengo idea hasta que punto tiene soporte, especificamente en iexplorer. básicamente el procedimiento es casi el mismo para ambos. creas un elemento, agregas el contenido por innerHTML, y luego transfiere el contenido con appendChild.

Código:
var elem = document.createElement('div');
elem.innerHTML = "todo el contenido html procesado del json";
while(elem.firstChild) destino.appendChild(elem.firstChild);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.