<table class="aClass" id="id1">...</table>
<script type="text/javascript">
var node = document.getElementById("id1");
alert(node.getAttribute("class"));
</script>
Ce code est plutôt simple. Pouvez-vous prévoir son résultat ?
Ok, sous Firefox, on a une alerte "aClass" qui apparaît, mais sous IE... l'alerte indique "null" !
Ce problème intervient sous IE6, IE7 et IE8 uniquement. Pourquoi ? ... demandez donc à Microsoft.
Comment résoudre ce cas ? la réponse tombe du ciel: utilisez .className !
alert(node.className);
... ceci fonctionne sous IE 6, 7, 8, Firefox, etc...
De la même manière, node.setAttribute("class", "aCssClass") ne fonctionne pas sous IE, il faut utiliser node.className="aCssClass".
Notez que sous IE, l'attribut "class" qui avait mystérieusement disparu a cédé sa place à un nouvel attribut "className" => getAttribute("className") fonctionne également.
Merci Micro de nous avoir fourni Internet Explorer, et un mal de crâne pour adapter nos codes à ce browser.
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire