Hoje de manhã eu estava testanto um script que adicionava em uma div uma tabela e dados à essa tabela. Porém, o script não funcionava corretamente no Internet Explorer. Após alguma pesquisa, cheguei a http://blogs.acceleration.net/russ/archive/2005/03/23/747.aspx . A questão é que para o appendChild funcionar numa tabela no Internet Explorer, é necessário criar o TBODY.
Página de teste: http://waltercruz.com/devel/javascript/appendchild.html .
Nessa página, tem dois botões que criam tabelas via script. A função createtable(2) funciona no internet explorer. A createtable(1) não.
function createtable(n){
var alvo = document.getElementById(‘table’ + n);
var table = document.createElement("TABLE");
var linha = document.createElement("TR");
var campo = document.createElement("TD");
switch(n){
case 1:
campo.innerHTML = "Campo da tabela " + n;
linha.appendChild(campo);
table.appendChild(linha);
alvo.appendChild(table);
break;
case 2:
var tbody = document.createElement("TBODY");
campo.innerHTML = "Campo da tabela " + n;
linha.appendChild(campo);
tbody.appendChild(linha);
table.appendChild(tbody);
alvo.appendChild(table);
break;
}
}
var alvo = document.getElementById(‘table’ + n);
var table = document.createElement("TABLE");
var linha = document.createElement("TR");
var campo = document.createElement("TD");
switch(n){
case 1:
campo.innerHTML = "Campo da tabela " + n;
linha.appendChild(campo);
table.appendChild(linha);
alvo.appendChild(table);
break;
case 2:
var tbody = document.createElement("TBODY");
campo.innerHTML = "Campo da tabela " + n;
linha.appendChild(campo);
tbody.appendChild(linha);
table.appendChild(tbody);
alvo.appendChild(table);
break;
}
}
Entendi. Acho.
O Createtable2 não funcionou no IE.
Dia que não há suporte para esta interface.
cara, como eu ODEEEEIO o IE….
tentei inserir linhas em uma tabela q já existia…. impocivel, mesmo com isso q vc falou, tive q usar um método proprietario da Micro$oft para isso….
var linha = document.getElementById(“tabela”).insertRow(-1);
var campo = document.createElement(“TD”).innerHTML = “conteudo”;
linha.appendChild(campo);
flw….
Cara, valeu! Resolveu o meu problema! Obrigada!
hehehe
Valeu Adriana
Espero poder continuar sendo útil!
Putz kra, vc salvou minha vida agora…adicionei uma linha na função e resolveu o problema.
Maldito IE…Bendito TBODY…
valeu!
Hehehee .. É isso aí Douglas
O IE as vezes é muito chato!
Poh… dois anos depois e a dica me salvou
Caramba! Esse negócio de ter que ter TBody é fo&%¨.
Valeu.
Valeu!!!!
Me salvou!!
Pingback: Por que Internet Explorer não tem suporte 100% no Taulukko – Blog do Taulukko