• HomePagina Inicial
  • Blog Mis cosillas
  • Portfolio Mis trabajos
  • Acerca deeste blog y su autor
    • Sobre Mi 
    • Oridoki 
  • ContactarFormulario
  • Categorias

    • Blog
      • Control de Versiones
        • GIT
      • Diseño
      • Frameworks
        • CakePHP
        • CodeIgniter
      • JavaScript
        • EXT JS
        • JQuery
      • Magento
      • Maquetación
        • CSS
        • HTML
      • MiniCodes
      • MySQL
      • PHP
      • Proyectos
      • TextMate
      • Varios
      • Wordpress
    • Portfolio

IE tbody y innerHTML.

Posted by Adrià Cidre Categories: Blog, 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… :-)

Share This Post!

Subscribe to our RSS feed. Tweet this! StumbleUpon Reddit Digg This! Bookmark on Delicious Share on Facebook

3 Responses to IE tbody y innerHTML.

  1. yo tuve un problema parecido con una tabla
    tenia esto:
    tbody = document.getElementById(“trelacion”);

    var trow = crear(‘tr’); // crear es una funcion mia
    tcol.innerHTML=cam_descripcion;
    trow.appendChild(tcol);
    tbody.appendChild(trow);

    y en el IE no me funcionaba, y busque en varias partes y nada, pero simplemente ala linea donde esta el getELementById
    le puse un VAR y listo

    var tbody = document.getElementById(“trelacion”);

    var trow = crear(‘tr’); // crear es una funcion mia
    tcol.innerHTML=cam_descripcion;
    trow.appendChild(tcol);
    tbody.appendChild(trow);

    ya sirve

    Posted on 18/02/2009 at 20:57
    |
    wasa says
  2. Es la pena de Javascript, que tiene muchisimas posiblidades, pero que probablemente ni sus creadores conocen todos los bugs o particularidades de cada navegador.

    Posted on 19/02/2009 at 09:00
    |
    kumulo says
  3. Hola tambien para poder borrar

    en lugar de usar var tbody =

    document.getElementById(“trelacion”);
    tbody.innerHTML=”;

    uso esto, y da el mismo resultado

    document.getElementById(“trelacion”);
    var ttr = tbody.getElementsByTagName(‘tr’)
    for(i=ttr.length-1;ttr.length > 0;i–)
    ttr[i].parentNode.removeChild(ttr[i]);

    Posted on 19/02/2009 at 18:39
    |
    wasa says

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Search our website

  • Inicio
  • Blog
  • Consultor Web
  • Contactar
  • E-Commerce
  • Oridoki
  • Outsourcing
  • Portfolio
  • Sobre Mi
  • Social Media
© Adrià  Cidre Jugo - 2011