Bueno, me ha costado un poquito pero he dado con la "solución":
Tienes que cambiar en la función
prepara_tabla() ésto:
Código PHP:
filas[i].setAttribute('class', 'az_fila_origen');
Por ésto:
Código PHP:
filas[i].className = 'az_fila_origen';
Si es que luego quieres mirarlo según
className en
crea_copias():
Código PHP:
if(filas[i].className == laClase){
Evidentemente es algo que no se entiende, y que hay que hacerlo para que nuestro amigo el IE entienda bien. A este navegador hay que tratarlo con más mimo.
En IE tomaba 0,1,2,3,4 la variable
i, pero en la 3 daba error porque
filas.length sería 3 (0,1,2) y al no añadir filas, no se pueden acceder a ellas.
Te recomiendo hacer los bucles en
crea_copias() igual que en
prepara_tabla() si es que vas a modificar la cantidad de las filas, es decir:
Código PHP:
var tabla = document.getElementById('mi_tabla');
var filas = tabla.rows;
//var cantidad_filas = filas.length;
for(i = 0; i < tabla.rows.length; i++){
Así comprobará todo el rato en cada iteración tabla.rows.length y no habrá distinciones si crea las filas o no las crea. El bucle nunca tendrá elementos de más o de menos (además conseguirás mas legibilidad).
Por otra parte me he dado cuenta que también IE se lleva mal con la propiedad
.textContent, que no te dará ningún valor (
undefined) y a la que tampoco podrás asignarle nada (y que haga efecto quiero decir). Es una buena alternativa
.innerHTML.
He visto más problemas con el
'inherit', y sobre todo aplicando el
colspan, a lo que no he sabido darte respuesta.
Espero que no te salgan muchos más líos. En FF por lo menos lo he visto y es un script con un resultado muy bonito. A ver si lo consigues en IE y lo posteas!
Un saludo.