Martin Abraham: Tabellen: Zellen-Hintergrundfarbe dynamisch ändern in NS

Hallöchen,

in einer Tabellenzelle habe ich ein Bild. Klickt man darauf soll die Hintergrundfarbe der Zelle über javascript geändert werden.

Da man nicht direkt auf die Hintergrundfarbe zugreifen kann, habe ich hierzu um den Inhalt der Zelle einen div-Tag gesetzt:
<td><div id="img_1_b" style="background-color:#FFFFFF;">....inhalt....</div></td>

Im IE kann ich die Hintergrundfarbe mit
document.all.img_1_b.style.backgroundColor="000000";
ändern.
Im NS kriege ich allerdings die Fehlermeldung
document.all has no properties.
Habe im NS auch einige andere probiert. Auf
document.img_1_b.document.style.backgroundColor
krieg ich die Fehlermeldung
document.img_1_b has no properties.

Bleibt die Frage.....

Wie kann ich im NS auf die Hintergrundfarbe der Tabellenzelle zugreifen und diese ändern?

mfg

Martin Abraham

  1. Tag

    Im NS kriege ich allerdings die Fehlermeldung
    document.all has no properties.

    Hm ... nie SelfHTML gelesen ???
    Sonst wüßtest Du nämlich, daß Netscape das all-Objekt nicht kennt ,,,

    Wie kann ich im NS auf die Hintergrundfarbe der Tabellenzelle zugreifen und diese ändern?

    Hm ... nie die Forumssuche benützt ?
    Sonst wüßtest Du nämlich, daß es nicht geht.

    Harry

    1. Hallo.

      Wie kann ich im NS auf die Hintergrundfarbe der Tabellenzelle zugreifen und diese ändern?

      Hm ... nie die Forumssuche benützt ?
      Sonst wüßtest Du nämlich, daß es nicht geht.

      Das stimmt zwar eigentlich, es gibt aber trotzdem eine Möglichkeit, die mit dem IE und NS funktioniert:
      http://maximus.ravecore.com/highlightlayers.shtml

      Sieht dann so aus:
      TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=150>
        <TR>
          <TD BGCOLOR=white ONMOUSEOVER="bgColor='yellow'" ONMOUSEOUT="bgColor='white'">
            <ILAYER>
              <LAYER ONMOUSEOVER="this.bgColor='yellow'" ONMOUSEOUT="this.bgColor='white'" WIDTH="100%">
              Highlight 1
              </LAYER>
            </ILAYER>
          </TD>
        </TR>
        <TR>
          <TD BGCOLOR=white ONMOUSEOVER="bgColor='yellow'" ONMOUSEOUT="bgColor='white'">
            <ILAYER>
              <LAYER ONMOUSEOVER="this.bgColor='yellow'" ONMOUSEOUT="this.bgColor='white'" WIDTH="100%">
              Highlight 2
              </LAYER>
            </ILAYER>
          </TD>
        </TR>
      <TABLE>

      Gruß,
      olli

      1. hi!
        habe ein problem mit dieser technik:
        sobald ich ein transparentes gif als hintergrundbild in die <td> eintrage, also z.B.:

        <td background="transparentes_gif_mit_einigen_pixeln_grafik.gif" bgcolor="#FFFFFF" onMouseOver="this.style.backgroundColor='#CCCCCC'" onMouseOut="this.style.backgroundColor='#FFFFFF'">Menüpunkt</td>

        und mehrere dieser <td>'s neben- oder untereinander verwende (egal) dann macht IE dumme Fehler: er stellt manchmal (an besonderen, statistisch auffälligen Stellen) das Hintergrundbild nicht mehr dar (nach einem MouseOut-Event!)

        wie kann ich das fixen?
        lg
        Christoph

        Hallo.

        Wie kann ich im NS auf die Hintergrundfarbe der Tabellenzelle zugreifen und diese ändern?

        Hm ... nie die Forumssuche benützt ?
        Sonst wüßtest Du nämlich, daß es nicht geht.

        Das stimmt zwar eigentlich, es gibt aber trotzdem eine Möglichkeit, die mit dem IE und NS funktioniert:
        http://maximus.ravecore.com/highlightlayers.shtml

        Sieht dann so aus:
        TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=150>
          <TR>
            <TD BGCOLOR=white ONMOUSEOVER="bgColor='yellow'" ONMOUSEOUT="bgColor='white'">
              <ILAYER>
                <LAYER ONMOUSEOVER="this.bgColor='yellow'" ONMOUSEOUT="this.bgColor='white'" WIDTH="100%">
                Highlight 1
                </LAYER>
              </ILAYER>
            </TD>
          </TR>
          <TR>
            <TD BGCOLOR=white ONMOUSEOVER="bgColor='yellow'" ONMOUSEOUT="bgColor='white'">
              <ILAYER>
                <LAYER ONMOUSEOVER="this.bgColor='yellow'" ONMOUSEOUT="this.bgColor='white'" WIDTH="100%">
                Highlight 2
                </LAYER>
              </ILAYER>
            </TD>
          </TR>
        <TABLE>

        Gruß,
        olli