GetElementsByClassName non comptible IE7 ?
nico_73
Messages postés
180
Statut
Membre
-
nico_73 Messages postés 180 Statut Membre -
nico_73 Messages postés 180 Statut Membre -
Bonjour,
Voila, j'ai cru comprendre que getElementsByClassName() en javascript, n'était pas compatible IE7. Dites moi si je me trompe ;).
j'ai donc créé une fonction qui pourrait pallier à ce problème, la voici :
Mais je n'ai pas pas l'occasion de la tester sur IE7 car j'ai fait les dernière mise à jour. Est ce que quelqu'un pourrait me dire si elle fonctionne ?
Je vous remercie d'avance.
Bien cordialement.
Voila, j'ai cru comprendre que getElementsByClassName() en javascript, n'était pas compatible IE7. Dites moi si je me trompe ;).
j'ai donc créé une fonction qui pourrait pallier à ce problème, la voici :
function getElementsByClassName(el) {
var ret = null;
if(!(ret = doc.getElementsByClassName)) {
doc.getElementsByClassName = function(el) {
var allEl = doc.getElementsByTagName('*');
var i = 0
while(elm = allEl[i++]) {
if(elm.className == el) {
ret = elm.className;
}
}
}
}
return ret;
}
Mais je n'ai pas pas l'occasion de la tester sur IE7 car j'ai fait les dernière mise à jour. Est ce que quelqu'un pourrait me dire si elle fonctionne ?
Je vous remercie d'avance.
Bien cordialement.
2 réponses
Aucune idée, je n'ai pas IE7 mais ce qui est certain, c'est que tu n'es pas le premier à qui ça arrive...
http://www.javascriptfr.com
Et la solution est là :
http://www.javascriptfr.com
Et la solution est là :
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 ") {
...
}
}
}
En effet, mon code à l'air de ressembler à celui là ;) sauf que je l'appel un peut différemment :
Merci pour ton bout de code. Par contre si quelqu'un pouvait me confirmer que ça fonctionne bien.
Merci
if(!document.getElementsByClassName(el)) {
elm = document.getElementsByClassName == maClass.getElementsByClassName(el);
}
Merci pour ton bout de code. Par contre si quelqu'un pouvait me confirmer que ça fonctionne bien.
Merci