Dominik Schäfer: className ändern

Hallo zusammen,
ich möchte über Javascript die Style-Klasse von Links ändern. Die Funktion, die das tut, sieht momentan so aus:

function imgnums(name,size,num) {
         for (i=1; i<= size; i++) {
          if (i == num) document.getElementById(name+'_img'+i).style.className = 'smallorange';
  else document.getElementById(name+'_img'+i).style.className = 'small';
         }
}

die Links sehen so aus:
<a href="javascript:imgskip(0,'tapejam',4,1);" class="small" id="tapejam1">1</a>

Den Rest des Codes hab ich weggelassen, ist zu viel. Wenn ich mir die classNames nach dem Ändern ausgeben lasse, stimmen sie jedenfalls. Nur sieht man im Browser nichts davon - weder in Opera, Firefox noch IE.

Ich hab's auch statt den Links mit span, div und p-tags probiert und deren Klasse geändert - ebenso kein Effekt, obwohl der Klassenname hinterher stimmt.

Woran kann das liegen?

Wer es online sehen möchte: Mouseover über eins der Projekte, dort sind unter den Bildern Zahlen (1-4) - die aktive sollte eigentlich orange sein. Im IE scheint es zu gehen, wenn man direkt auf die zu ändernden Links klickt, da bleibt aber die Hover-Farbe stehen, das Script bewirkt auch dort nichts.

  1. Hi

    document.getElementById("...").style.className = '...';
    Nur sieht man im Browser nichts davon - weder in Opera, Firefox noch IE.

    className ist Teil des All-Objektes, dass nicht von allen Browsern unterstützt wird. Und selbst in denen die es unterstützen, liegt es direkt im Objekt all, nicht im Unterobjekt style.
    Benutz besser das hier (ungetestet):

      
    document.getElementById("...").class = '...';  
    
    

    mfg
    Genie

    1. Hallo,

      document.getElementById("...").style.className = '...';
      Nur sieht man im Browser nichts davon - weder in Opera, Firefox noch IE.
      className ist Teil des All-Objektes, dass nicht von allen Browsern unterstützt wird.

      Das ist nicht wahr.

      Und selbst in denen die es unterstützen, liegt es direkt im

      HTMLElement.

      Benutz besser das hier (ungetestet):

      document.getElementById("...").class = '...';

        
      ~~~javascript
        
      document.getElementById("...").className = '...';  
      
      

      getestet ;-)

      viele Grüße

      Axel

      1. das war ja einfach... ;)

        vielen Dank!!