Hoje encontrei um problema em fazer as coisas. Tentei adicionar dinamicamente várias linhas de dados a uma tabela e defini uma tabela pela primeira vez:
123456 | <TABLE> <Tead> </head> <tbody id = filelist> </tbody> </ table> |
Então, em JavaScript:
12345 | para (var i nas entradas) {... var filetable = document.getElementById ('filelist'); filetable.innerhtml += '<tr> <td> 111 </td> <td> 222 </td> </tr>';} |
Não há problema no Firefox, mas será impossível colocá -lo no IE. Perguntei aos meus colegas + pesquisaram e descobri que os atributos INNERHTML desses elementos são somente leitura e não podem ser operados diretamente no IE. Mas não há solução. O InnerHTML da TD ainda pode ser operado. O código acima pode ser modificado assim:
123456789101112 | para (var i nas 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);} |
Você pode primeiro usar o método CreateElement do DOM para criar TR e TD, depois executar operações correspondentes no InnerHTML de TD e, finalmente, usar o método ApndendChild para adicionar os elementos criados à árvore DOM. Dessa forma, ele pode ser executado normalmente sob o IE. Deve -se notar que, se sua tabela não tiver um corpo, faz isso:
1 | <tabela id = filelist> </ table> |
No momento, você não pode usar o método AppendChild diretamente na tabela, porque o elemento da tabela no IE6 não suporta o método AppendChild (o IE8 parece já ter suportado).
Algumas pessoas na Internet também propuseram usar o InserTrow () e outros métodos para fazê-lo, mas esse método tem problemas com a compatibilidade com diferentes navegadores (o Insertrow (-1) é necessário no Firefox), por isso é inútil.
Aliás, embora eu tivesse lido muitas informações de JS conscientemente antes, ainda percebi a verdade. Agora estou apenas começando a estar ocupado e estou calmo em meus estudos