Hoy me encontré con un problema al hacer las cosas. Traté de agregar dinámicamente múltiples filas de datos a una tabla y primero definí una tabla:
123456 | <Table> <thead> </head> <tbody id = fileList> </tbody> </table> |
Luego en JavaScript:
12345 | for (var i en entradas) {... var filetable = document.getElementById ('fileList'); filetable.innerhtml += '<tr> <td> 111 </td> <td> 222 </td> </tr>';} |
No hay problema en Firefox, pero será imposible ponerlo bajo IE. Le pregunté a mis colegas + busqué y descubrí que los atributos internos de estos elementos son de solo lectura y no se pueden operar directamente bajo IE. Pero no hay solución. El InnerHTML de TD todavía se puede operar. El código anterior se puede modificar así:
123456789101112 | for (var i en entradas) {... var filetable = document.getElementById ('fileList'); var tr = document.createElement ('tr'); var td1 = document.createElement ('td'); td1.innerhtml = '111'; var td2 = document.createElement ('td'); td2.innerhtml = '222'; tr.appendChild (TD1); Tr.AppendChild (TD2); filetable.appendChild (tr);} |
Primero puede usar el método de creación de DOM para crear TR y TD, luego realizar las operaciones correspondientes en el InnerHTML de TD y finalmente usar el método AppendChild para agregar los elementos creados al árbol DOM. De esta manera puede funcionar normalmente bajo IE. Cabe señalar que si su mesa no tiene un tbody, hace esto:
1 | <Tabla ID = Filelist> </Tabla> |
En este momento, no puede usar el método AppendChild directamente en la tabla, porque el elemento de tabla en IE6 no admite el método AppendChild (IE8 parece haberlo ya admitido).
Algunas personas en Internet también han propuesto usar Insertrow () y otros métodos para hacerlo, pero este método tiene problemas con la compatibilidad con diferentes navegadores (InserTrow (-1) se requiere en Firefox), por lo que es inútil.
Por cierto, aunque había leído mucha información de JS conscientemente antes, todavía me di cuenta de la verdad. Ahora estoy empezando a estar ocupado y estoy tranquilo en mis estudios