Contenido

DOM + innerHTML = replaceHTML()

7 Oct

+ 0

Al hilo del artículo anterior, leo en Tripix que hace referencia a otro gran artículo de Quirksmode, en este caso una comparativa que hicieron hace 7 meses sobre el uso de DOM frente al famoso innerHTML.

dom_vs_innerhtml

En la tabla comparativa vemos a simple vista que el uso de DOM en los navegadores de Microsoft está muy por debajo del resto y que innerHTML parece ser la opción más rápida para todos los navegadores.

Pero hemos de recordar que el uso de DOM es el que nos va a dar mayor control sobre el código y sobretodo sobre los elementos que creamos con él.

Por ese motivo, recuerdo el post de replaceHTML, el innerHTML dopado del que hablamos hace unos meses y en el que veíamos una implementación que dependiendo del navegador que usabamos, usaba un sistema u otro.

function replaceHtml(el, html) {
	var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
	/*@cc_on // Puro innerHTML para IE (que es más rápido)
	oldEl.innerHTML = html;
	return oldEl;
	@*/
	var newEl = oldEl.cloneNode(false);
	newEl.innerHTML = html;
	oldEl.parentNode.replaceChild(newEl, oldEl);
	return newEl;
};

Además como ya vimos, entres las principales diferencias entre HTML4 y HTML5, innerHTML pasará formar parte del estandard, y nos permitirá usarlo en un contexto XML.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.