11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je suis en train de devenir fou à cause de IE (pour changer me direz-vous!).

Alors, cette fois-ci, c'est avec :
if(tr_user.item(i).hasAttribute("style")) { 
       tr_user.item(i).removeAttribute("style");
}

et avec :
var attr = document.createAttribute("style");
attr.value = "display: none;";
tr_user.item(i).setAttributeNode(attr);


Que je bataille, comme se fait-il que ça ne fonctionne pas sous IE ?

Il me renvoie comme message d'erreur :
Membre introuvable

Chose totalement illogique puisque Firefox et Opera trouve bien l'objet et que même IE arrive bien à exploiter la fonction getAttribute()

Si quelqu'un a une idée pour palier à ces dérives de IE, je lui en serais extrèmement reconnaissant...
Modifié par RorolePro (25 Jun 2008 - 10:26)
Hello,

Réponse rapide :

- Utiliser la méthode item est inutile. Préférer l'accès direct par index :
tr_user[ i]

- Les méthodes de manipulation des attributs ne sont pas supportées de façon suffisament homogène pour être utilisées. Il vaut mieux utiliser le DOM HTML quand c'est possible :
tr_user[ i].style.display = "";
tr_user[ i].style.display = "none";

Modifié par Julien Royer (25 Jun 2008 - 10:04)