levu: className im IE?!

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

--
sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
  1. 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

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. 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

      --
      sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|
      1. 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.

      2. 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

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. 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?
    
  3. Hallo,

    So, gelöst, ih weiß zwar net wieso, aber auf einmal funktioniert es... danke  euch allen!

    mfg, Flo

    --
    sh:) fo:| ch:? rl:( br:^ n4:| ie:{ mo:| va:} de:> zu:} fl:{ ss:) ls:< js:|