className im IE?!
levu
- javascript
Hallo,
der IE 7 hat Probleme mit der Eigenschaft className eines Objektes. der meint, das objekt unterstütze diese eigenschaft nicht. Wie kann ich dann die Klasse rausfinden? über getAttribute geht das auch nicht:
var x = document.getElementsByTagName('span');
for(var i in x) {
alert(x[i].className);
[...] // Hier wird auch nochmal className genutzt und diverses andres zeugs gemacht. Nix wichtiges für das beispiel
}
da gibt er mir immer undefined zurück und im weiteren Verlauf dann einen Fehler, wenn ich drauf zugreifen will.
mfg, Flo
Hi,
der IE 7 hat Probleme mit der Eigenschaft className eines Objektes.
Nein, hat er normalerweise nicht.
var x = document.getElementsByTagName('span');
for(var i in x) {
alert(x[i].className);
Warum nutzt du hier eine for-in-Schleife, um ueber die Collection, die getElementsByTagName dir zurueckliefert, zu iterieren?
Hast du mal ueberprueft, ob dabei die Objekte, auf die du damit jeweils zugreifst, auch das sind, was du annimmst?
Warum nutzt du keine einfache for-Schleife?
MfG ChrisB
Hallo,
Hi,
der IE 7 hat Probleme mit der Eigenschaft className eines Objektes.
Nein, hat er normalerweise nicht.
var x = document.getElementsByTagName('span');
for(var i in x) {
alert(x[i].className);Warum nutzt du hier eine for-in-Schleife, um ueber die Collection, die getElementsByTagName dir zurueckliefert, zu iterieren?
Hast du mal ueberprueft, ob dabei die Objekte, auf die du damit jeweils zugreifst, auch das sind, was du annimmst?
Auch mit ner normalen schleife dasselbe. Alles probiert...
mfg, Flo
Hast du mal ueberprueft, ob dabei die Objekte, auf die du damit jeweils zugreifst, auch das sind, was du annimmst?
Alles probiert...
da ich dein Problem in meinem IE7 nicht nachvollziehen kann (der gibt falls kein className-Attribut existiert einfach "" zurück) vermute ich, dass du an dieser Stelle nachhaken solltest.
Hi,
Auch mit ner normalen schleife dasselbe. Alles probiert...
dann hast Du in dieser Schleife ebenfalls einen Fehler. Der IE hat kein Problem mit der className-Eigenschaft auf DOM-Elementobjekten - Du wendest sie einfach nur nicht auf diese an.
Cheatah
Hallo,
var x = document.getElementsByTagName('span');
for(var i in x) {
alert(x[i].className);
}
>
> da gibt er mir immer undefined zurück und im weiteren Verlauf dann einen Fehler, wenn ich drauf zugreifen will.
x["length"].className meinst du gibt also einen fehler?
Hallo,
So, gelöst, ih weiß zwar net wieso, aber auf einmal funktioniert es... danke euch allen!
mfg, Flo