Tina Schreiber: Eigenschaften in Tabellenzelle ändern?

Hallo,

ich hab da mal eine JS-Frage.
Ich benutze in einer HTML-Datei ein Style-Sheet.
In einer Tabelle greife ich auf Sachen davon zu, z.B.:
<table>
   <tr>
      <td class="txtlrgcntr">
         text text text
      </td>
   </tr>
</table>

Jetzt möchte ich folgendes machen: Bei einem Click auf einen Link (wie das geht, weiß ich *g*) soll ein JavaScript ausgeführt werden, welches die Class in der Tabellenzelle ändert. Nicht in jeder, nur in einer bestimmten (abhängig vom Click). Worum es mir dabei geht, ist das das Hintergrundbild einer Zelle geändert wird. Das Dokument will ich dabei allerdings nicht refreshen.

Das habe ich probiert, indem ich die Tabellenzelle zu <td id="td1" class="txtlrgcntr"> geändert habe, und der Link ruft bei onClick folgende Funktion auf:

function tdchange(tdid){
document.getElementById(tdid)[0].setAttribute("class", "testclick");
}

Das hab ich einmal so probiert, daß ich als Variable "tdid" die direkte Bezeichnung der Tabellenzelle angegeben habe, und da wird wohl ein Objekt übergeben? (Sah zumindest so aus) Und als zweiten Versuch habe ich als "tdid" eine Nummer (hier im Beispiel 1) übergeben und die Funktion auf "td" + tdid geändert.
Beides funktioniert nicht.
Bei der ersten Variante bekomme ich gesagt: "Objekt erwartet", bei der zweiten heißt es "Objekt ist Null oder existiert nicht".

Was mache ich so gravierend falsch? Das müsste doch eigentlich gehen, ich meine das Ändern der TD-Eigenschaft, oder nicht?

Ich hab mir SelfHTML angeschaut und durchgelesen, auch die vorhandenen Forumsbeiträge und das Archiv durchsucht, aber nichts gefunden ... Bitte, kann mir blutigem Anfänger jemand helfen?????

Liebe hoffnungsvolle Grüße,

Tina Schreiber

  1. Hallo Tina,

    document.getElementById(tdid)[0].setAttribute("class", "testclick");
                                 ^^^

    Diese Ordnungszahl hat bei getElementById nichts verloren - die ID muss eindeutig sein, mehrere Elemente mit der selben ID darf es nicht geben.

    Grüße,

    Utz

  2. Liebe Tina!
    Ich habe ein ähnlich gelagertes Problem und möchte onCklick eine CSS-Eigenschaft ändern. Auch bei mir geht es nicht.

    Wenn Du neue Erkenntnisse hast, bin ich daran hoch interessiert, bitte auch als Mail.

    Vielen Dank im Voraus,
    Frank.