Homer: Layer ansprechen

Hallo!

Warum funktioniert das nicht???
...
<script type="text/javascript">
function SubMenue(){
document.layers['Sub1'].bgColor = 'red';
}
</script>

...
<table width="150" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#DFDFDF" class="tabelle">
<tr class="SubMenue1">
<td width="150" height="25" align="left" valign="middle" bgcolor="#D40055" class="con"><a href="#" onClick="SubMenue()">Bathroom Furniture</a>
<div id="Sub1"></div>
</td>
</tr>
</table>
...

  1. Hi,

    Warum funktioniert das nicht???

    muss das nicht document.sub1.bgcolor = 'red'; heißen?

    MfG Hopsel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
  2. Hallo Homer,

    document.layers['Sub1'].bgColor = 'red';

    Sag bloß, du benutzt noch den Netscape 4.x? Der dürfte meines Wissens nämlich der einzige Browser sein, der das Objekt "layers" noch versteht.

    Für Dich hilfreich ist vielleicht getElementById()

    Gruß aus Köln-Ehrenfeld,

    Elya

    1. Hallo Elya!

      Ich bin Deinem Tip gefolgt und im IE funktioniert das auch, aber nicht im FireFox
      ...
      <script type="text/javascript">
      function SubMenue(){
      document.getElementById("Sub1").style.height = 150;
      }
      </script>
      ...
      <td id="Sub1" width="150" height="25" align="left" valign="middle" bgcolor="#D40055" class="con"><a href="#" onClick="SubMenue()">Menue</a>...

      1. hallo,

        Ich bin Deinem Tip gefolgt und im IE funktioniert das auch, aber nicht im FireFox

        Vielleicht fällt dir ja was auf:

        document.getElementById("Sub1").style.height = 150;
        <td id="Sub1" width="150" height="25"

        Grüße aus Berlin

        Christoph S.

        1. hallo,

          Vielleicht fällt dir ja was auf:

          Nein nichts?! Weil es kein Layer ist?

          Gruß
          Homer

          1. hallo,

            Vielleicht fällt dir ja was auf:
            Nein nichts?! Weil es kein Layer ist?

            Nein. Aber du gibst erst (übrigens noch ohne Maßangabe) eine Elementhöhe von 150 vor, im Element selbst gibst du dann als Höhe 25px an. Du solltest dich für _eine_ Festlegung entscheiden, wobei der CSS-Formatierung der Vorrang zu geben ist.

            Grüße aus Berlin

            Christoph S.

      2. Hallo Homer,

        document.getElementById("Sub1").style.height = 150;

        im CSS benötigen Größenangaben eine Einheit, hier z.B. 150px. Der IE ist da größzügiger und nimmt "gefühlsmäßig" als Einheit px.

        Gruß, Jürgen

        1. Hallo Jürgen!

          Vielen dank für den Tip, jetzt hat es geklappt!

          Gruß
          Homer

  3. Hi there,

    Warum funktioniert das nicht???

    Abgesehen davon, daß das nur von einem BRowser so verstanden wird, der noch dazu schon recht betagt ist (Netscape < 6), frag ich mich, was "red" werden soll. In Deinem Layer ist ja nix drin ...