boeser_wolf: Tabelle mit "getElementByTagName" an Seitenhöhe anpassen

Hallo,

ich hoffe Du kannst mir helfen.
Ich habe vor die Höhe einer Tabelle an die verfügbare Seitenhöhe anzupassen. Dazu hab ich eine funtion namens hoehe:

funtion Hoehe() {
document.getElementsByTagName("td")[4].setAttribute("height", 300);
}

(die 300 steht blos zum Testen stellvertretend für 'ne variable, die ich später noch festlege)

die function wird korrekt mit onLoad im body-tag aufgerufen (das funktioniert)

das td, welches ich mit der Funtion ansprechen will, ist das in der folgenden schematischen Darstellung mit x markierte:

<table>
<tr> <td></td>
     <td></td>
     <td></td>
</tr>
<tr> <td></td>
     <td x></td>     <-- sollte das 5te sein (bei 0 angefangen->[4])
     <td></td>
</tr>
<tr> <td></td>
     <td></td>
     <td></td>
</tr>
</table>

Auf das <table> kann ich getElementsByTagName anwenden, damit funktioniert es, aber an dass <td> komm ich nicht ran.
Das einzige was ich mir jetzt vorstellen könnte, ist das man mit getElementsByTagName keine Zugriff auf das <td> hat, da es ja im Prinzip dem table-tag untergeordnet ist. Wenn dem so ist, wie kann ich es dann ansprechen?

Danke im voraus

M.f.G.
Marc

  1. hi

    die function wird korrekt mit onLoad im body-tag aufgerufen (das funktioniert)

    Auf das <table> kann ich getElementsByTagName anwenden, damit funktioniert es, aber an dass <td> komm ich nicht ran.
    Das einzige was ich mir jetzt vorstellen könnte, ist das man mit getElementsByTagName keine Zugriff auf das <td> hat, da es ja im Prinzip dem table-tag untergeordnet ist. Wenn dem so ist, wie kann ich es dann ansprechen?

    verpass doch dem besgten <td> eine id="gross", dann geht's mit document.getElementById("gross").style.height = "300px";
    Auch die Syntax HINTER dem Punkt ist so und nicht anders, ein <td height=""> GIBT ES NICHT

    Nochwas, was willst du damit genau erreichen? Wenn du nur die Höhe der <td> auf einen bestimmten Wert setzen willst, geht das in aller Regel leichter...

    gruss Kai

    1. Hi kai,
       wie geht's noch?

      1. hi

        wie geht's noch?

        so wie ich dich verstehe, soll die Zelle 100% der Fensterhöhe haben... Also dann so:

        body{height:100%;overflow:visible;}
        table{height:100%;overflow:visible;}
        td#gross{height:100%;}

        so müsste es schon ausreichend sein... Frage ist nur, ob das der eine oder andere Browser mal wieder missversteht..

        1. hi

          wie geht's noch?

          so wie ich dich verstehe, soll die Zelle 100% der Fensterhöhe haben... Also dann so:

          body{height:100%;overflow:visible;}
          table{height:100%;overflow:visible;}
          td#gross{height:100%;}

          nee, so geht's leider nicht. Ich hatte noch nicht erwähnt, das die Tabelle dennoch eine Bestimmte Höhe haben muß. Sie soll nixht 100% betragen, sondern die Höhe - bestimmte Faktoren und teilbar durch x. vergiß es, eh ich das sinnvoll erklärt hab, friert die hölle zu.

          aber sag mal wie kann ich statt der 300px die Variable Hoehe einbinden.(also von der Notation her) was ist an: = Hoehe   verkehrt?

          Marc

          1. hi

            aber sag mal wie kann ich statt der 300px die Variable Hoehe einbinden.(also von der Notation her) was ist an: = Hoehe   verkehrt?

            = Hoehe + "px" ist es - sonst haut das nur ältere IE's vom Hocker..

            1. hi

              aber sag mal wie kann ich statt der 300px die Variable Hoehe einbinden.(also von der Notation her) was ist an: = Hoehe   verkehrt?

              = Hoehe + "px" ist es - sonst haut das nur ältere IE's vom Hocker..

              damit gehts auch nicht (ie5). Die Tabelle wird zu groß. Obwohl die Hoehe unteranderem aus screen.availHeight - x besteht

              Quelltext:

              <script language="JavaScript">
              <!--

              function hoehe() {
               var Hoehe = screen.availHeight - 91;
              document.getElementById("shit").style.height = Hoehe + "px";
              }
              //-->
              </script>
              <<<<

              warum geht das nicht?

  2. Bongú!

    Ich habe deinen Quelltext kopiert und in eine HTML-Seite eingebaut.

    Bei mir klappt das mit Mozilla und IE6!

    Allerdings nur, wenn ich 'function' mit 'c' schreibe.

    funtion Hoehe() {

    -----^^

    document.getElementsByTagName("td")[4].setAttribute("height", 300);
    }

    @Kai: 'height' kann sehr wohl ein Attribut von 'td' sein!

    Sahha,

    kerki