Problème getElementsByClassName() sur IE7

Résolu
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 - 4 déc. 2008 à 15:42
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 - 4 déc. 2008 à 16:01
Hello,



Voici un moment que je me prends la tête avec la fonction getElementsByClassName... dans un de mes projets, j'ai le bout de code suivant :





   var q = document.getElementById("pick_content").contentWindow.document;






   q.getElementsByClassName('theclass');






   ...







No problemo sur FF, mais cela ne fonctionne pas sur IE7. J'ai droit à un "Object doesn't support this property or method" au niveau de la 2e ligne.



Après quelques recherches, j'ai découvert que IE ne connaissait pas cette fonction et j'ai trouvé une fonction (http://www.robertnyman.com/2008/05/27/the-ultimate-getelementsbyclassname-anno-2008/) qui est sensée régler le problème, mais malheureusement j'ai toujours la même erreur, malgré l'ajout de la fonction proposée qui semble d'ailleurs bien fonctionner





  <script type="text/javascript" src="getElementsByClassName-1.0.1.js"></script>




Quelqu'un a-t-il déjà été confronté à ce problème ? Merci d'avance pour toute aide !
Malik7934

1 réponse

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
4 déc. 2008 à 16:01
Bon, ben j'ai trouvé une parade :

var q = document.getElementById("pick_content").contentWindow.document;
if (document.getElementsByClassName){
        q = q.getElementsByClassName('theclass');
         ...
}
 else{ // IE
          var i = 0;
          var div = q.getElementsByTagName("div");
          while (element = div[i++]) {
                 if (element.className == "





theclass






") {
                        ...
                 }
          }
}



Un peu lourd quand même à mon goût







http://www.noisy.ch
3
Rejoignez-nous