Udo Laschet: Breite einer Zelle per Javascript auslesen lassen

Einen schönen guten Tag,

ich habe zwar fundierte HTML- und CSS-Kenntnisse, jedoch fange ich mit JAVASCRIPT gerade erst an, und klicke mich durch die Tutorials.

Mein Problem ist folgendes:

Zur Zeit muß ich einige Seite konstruieren, die auf Tabellen aufbauen, und für unterschiedliche Bildschirmauflösungen geeignet sein müssen. Diese Seite enthalten Text und Grafiken - das alles ist nicht weiter schlimm.

Für jede "neue" Tabellenkonstruktion (die Zellen enthalten COLSPAN- und ROWSPAN-Eigenschaften) bastele ich mir zuerst ein leeres Template, um zu sehen, wie die leeren Zellen aussehen, und sich gem. meiner Angabe zu "WIDHT" und "HEIGHT" verhalten. Leider benötige ich hierzu einen Taschenrechner, um bei einer festen Tabellenbreite z. B. bei fest vergebenen "<TD WIDTH=xxx>" die breite der anderen Zellen einer Reihe zu ermitteln.

Sehr gerne würde ich über Javascript ermöglichen, dass mir die Breite im Template angezeigt wird, jedoch kenne ich nicht das Objekt, dass dazu ausgelesen werden muss (document.write(td.width) funktioniert nicht...). Kann mir geholfen werden?

Dank im Voraus
Udo

  1. Hallo Udo,

    Sehr gerne würde ich über Javascript ermöglichen, dass mir die Breite im Template angezeigt wird, jedoch kenne ich nicht das Objekt, dass dazu ausgelesen werden muss (document.write(td.width) funktioniert nicht...). Kann mir geholfen werden?

    ja kann, ich habe dir ein kleines Script geschrieben, dass genau das macht was du möchtest:

    <html>
    <head>
    <title></title>
    <meta name="author" content="Antje Hofmann">
    <meta name="generator" content="Ulli Meybohms HTML EDITOR">
    </head>
    <body>
    <table>
    <tr>
    <td width="150">ABC</td>
    <td>YXZAbc</td>
    </tr>
    </table>

    <pre><script type="text/javascript">
    <!--

    if (document.getElementsByTagName) {

    myTDs = document.getElementsByTagName("td");

    for (i=0;i < myTDs.length;i++)
       document.writeln("Zelle: ",i," Weite: " ,myTDs[i].offsetWidth)

    }

    //-->
    </script></pre>

    </body>
    </html>

    Das funktioniert im IE ab Version 5, Mozilla und Opera ab Version 7.
    Ich denke, dass muss ich nicht weiter erläutern und du wirst in der Lage sein, dir dieses Script für deine Bedürfnisse anzupassen.

    Viele Grüße

    Antje

    1. Hallo und vielen Dank Antje...

      Das funktioniert im IE ab Version 5, Mozilla und Opera ab Version 7.
      Ich denke, dass muss ich nicht weiter erläutern und du wirst in der Lage sein, dir dieses Script für deine Bedürfnisse anzupassen.

      Viele Grüße

      Antje

      Dein Script - vielen Dank dafür - habe ich kapiert *hosianna*... Darf ich fragen - wenn's denn unkompliziert kompfortabler geht - wie ich mir die Ergebnisse direkt in den "betroffenen" Zellen anzeigen lassen kann? Also:

      <td>"Text:Zellenbreite, generiert durch Javascript"</TD>

      Das Paradoxe daran ist, die Zellenbreite feststellen zu lassen zu einem Zeitpunkt, an dem die Zelle noch nicht "geschlossen" ist (</TD>)...

      Verlange ich zuviel, dann möge man mir vergeben - dennoch aber alles Gute!!

      Grüße, Udo