Javascript e le tabelle create dinaamicamente

di Stefano Mostarda, in .NET,

Sono un patito di FF. La cosa non riguarda questioni di sicurezza, o anti IE; semplicemente FF mi piace di più. Il target degli utenti per cui sto sviluppando ultimamente è tuttavia il classico utente che installa il Sistema operativo e lavora con IE.

Io, tutto sommato, continuo imperterrito a sviluppare con FF ed ogni tanto mi trovo davanti a problemi di compatibilità Cross-Browser. Oggi l'ultimo: una tabella creata dinamicamente da javascript non funziona.

Il codice era questo:

var table = document.createElement("table");
var row = document.createElement("tr");
var cell = document.createElement("th");
cell.innerHTML = "value";
row.appendChild(cell);
table.appendChild(row);

Beh, con Firefox tutto ok, con IE la tabella non veniva mostrata. Dopo una decina di minuti di infruttuose ricerche su google mi convinco che il problema è talmente stupido che l'ho avuto solo io nella storia. Mi armo di pazienza e IE Developer Toolbar e comincio ad ispezionare l'HTML generato internamente da IE per visualizzare una tabella e mi accorgo che manca il tag TBODY.

Ebbene si, una volta creato il tag "table", si deve creare il tag "tbody" ed a questo vanno appese le righe. Infine questo va appeso alla tabella.

var table = document.createElement("table");
var tbody = document.createElement("tbody");
table.appendChild(tbody);
var row = document.createElement("tr");
var cell = document.createElement("th");
cell.innerHTML = "header" ;
row.appendChild(cell);
tbody.appendChild(row);


Lo posto qui così me lo ricordo quando mi ricapiterà.

Stay Tuned...

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese