IE semble ajouter automatiquement un attribut "selected" sur la balise option.
Mais alors si vous le clonez, les choses deviennent bizarres.IE8: La balise option reçoit un attribut "selected" par défaut (et cloneNode en fait un désordre)
Si vous ouvrez une page dans IE8 avec le code ci-dessous:
<html>
<body>
<form><select><option>o1</option></select></form>
<script>
// without clone node
var elm = document.getElementsByTagName('form')[0];
alert(elm.innerHTML);
// using the form as the root to clone
elm = document.getElementsByTagName('form')[0].cloneNode(true);
alert(elm.innerHTML);
// using the select as the root to clone
elm = document.getElementsByTagName('select')[0].cloneNode(true)
alert(elm.innerHTML);
</script>
</body>
</html>
Vous obtiendrez:
Une 1ère alerte, avec un misérable "sélectionné" attribut sur l'étiquette d'option
A 2 alerte, sans attribut sur l'étiquette d'option (Ceci est OK, comme dans n'importe quel autre navigateur!)
Une 3ème alerte, avec le "sélectionné" apparaissant à nouveau
Une idée de pourquoi cette attr ibute apparaît?
Et puis pourquoi cloneNode semble l'enlever au hasard ou non?
Note: Vous pouvez penser pourquoi ce pauvre gars a un problème avec cela?
La raison est que je suis un contributeur de la bibliothèque JS templating PURE
et je vais avoir un peu de temps difficile de trouver une solution propre à ce problème: - \
Merci pour votre réponse (il y a 3+ ans ...) Je ne veux pas le sélectionner, c'est précisément le problème. IE semble le sélectionner automatiquement, mais avec le cloneNode, le résultat est incohérent. – Mic