Petit tuyau pour IE
Bon je fais mon super truc javascript de la mort, je le test a fond sous Firefox, ça y est ça marche ... je me dis j'utilise DOM a 100% donc c'est compatible tous les navigateurs mais par acquis de conscience, j'ouvre un IE avec Wine ...
La c'est le drame ... Rien ne s'affiche ...
Je me fais des petits alert partout ... tout semble bien se passer, je fais un alert(document.getElementById('monID').innerHTML) et la ... le code est bon ... mais rien ne s'affiche ... Après quelques minutes de reflexion je teste un chose :
Je génèrais une table, mais je ne lui mettais pas de tbody ... je me dis ce serait le comble que IE prête attention a ça alors que Firefox non ... eh ben si ...
Pensez a mettre des TBODY quand vous créez des tables avec DOM
Et tous les trucs qu'on peut lire comme quoi il faudrait se palucher des attr = document.createAttributeNode et des attr.setNodeValue et ensuite elt.setAttribute(attr) enfin le truc lourd quoi ... Ben c'est pas nécéssaire :
/*- create DOM structure -*/ var table = document.createElement('table'); table.id = this.id; var tbody = document.createElement('tbody'); for (prop in object) { var tr = document.createElement('tr'); var td = document.createElement('td'); td.appendChild(document.createTextNode(prop)); tr.appendChild(td); var td = document.createElement('td'); var input = document.createElement('input'); input.type = 'text'; input.name = this.id + '-' + prop; input.id = this.id + ':' + prop; input.value = object[prop]; td.appendChild(input); tr.appendChild(td); tbody.appendChild(tr); } table.appendChild(tbody); /*- assign DOM structure to idElement -*/ var elt = document.getElementById(idElement); elt.appendChild(table);
Et ça marche sous IE comme sous Firefox =)
