IE tbody y innerHTML.

Author: Adrià Cidre  |  Category: PHP

Internet Explorer

Internet Explorer


IE problemática tbody y innerHTML.

Bueno para variar, más problemas con Internet Explorer, si hace poco os comentábamos la problemática de crear una tabla con DOM en IE sin poner la etiqueta tbody después de la table. Hoy vamos a ver una solución al intento de hacer un tbody.innerHTML que para variar no funciona en IE.

Si suponemos que tenemos una tabla del estilo:

1
2
3
4

Lo normal sería vaciarla del siguiente modo:

	document.getElementById('miTBody').innerHTML = '';

Pero en la practica Explorer deja de funcionar… Si, no devuelve ningún tipo de error pero el script se detiene en este punto evitando que se continúe la ejecución del mismo.

La única solución valida que he encontrado es la siguiente:


	var taula = document.getELementById("miTBody").parentNode;
	taula.removeChild(document.getELementById("miTBody"));
	var tbody = document.createElement('tbody');
	tbody.id = "miTBody";
	taula.appendChild(tbody);

Con esto borramos el elemento tbody de la tabla que lo contiene, y a continuación volvemos a crear un elemento con el mismo identificador.

Entiendo que esta solución no es ni elegante ni eficiente, pero después de romperme la cabeza un buen rato es la única que he encontrado. Si conocéis alguna otra solución dejadla en los comentarios… :-)