Simon Schneiter: DOM Problem mit eingebundenem CSS-Stylefile

Hallo!

Ich bin nun am Ende meines Lateins angelangt. Und zwar versuche ich via Javascript
 die Breite einer Tabelle zu lesen. Wenn ich diese Breite direkt in der Tabelle festlege, so ist funktioniert das bestens:

-------- html-datei---------------
<html>
<head>
</head>
<body>

<table border="2">
  <tr><td id="viewframe" style="width:300px;">
    Tabellen-Inhalt
  </td></tr>
</table>

<script>
alert(document.getElementById("viewframe").style.width);
</script>

</html>
-----------------------------------

Soweit so gut.
Nun möchte ich aber die Style-Definition in einem eigenen *.css-File machen.

--------  stylesheet.css ----------
.screen_td_1{
  background-color:#69B64B;
  border:2px solid red;
  width:280px;
}
-----------------------------------

und dazu die angepasste html-datei:

-------- html-datei----------------
<html>
<head>
  <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
</head>
<body>

<table border="2">
  <tr><td id="viewframe" class="screen_td_1">
    Tabellen-Inhalt
  </td></tr>
</table>

<script>
alert(document.getElementById("viewframe").style.width);
</script>

</html>
-----------------------------------

Nun erhalte ich aber keine Ausgabe der Breite der Zelle. Komisch, denn die Zellenfarbe die ich in der CSS-Datei definiere wird korrekt angezeigt.

Aendere ich die alert()-Zeile wie folgt:
"alert(document.getElementById("viewframe").style);"
so erhalte ich die Ausgabe: "[object CSSStyleDeclaration]"
und zwar in beiden Beispielen.

Muss auf eine andere Art zugegriffen werden, wenn separate CSS-Files im Spiel sind? Ich habe keine Hinweise darauf gefunden und weiss nun aber wirklich nicht wie weiter.

Ich bin sehr dankbar für Hilfe und Hinweise wie ich das Problem lösen kann!
Vielen Dank im voraus,
Simon Schneiter

  1. Hallo Simon.

    Muss auf eine andere Art zugegriffen werden, wenn separate CSS-Files im Spiel sind? Ich habe keine Hinweise darauf gefunden und weiss nun aber wirklich nicht wie weiter.

    Suchst du offsetWidth?

    Einen schönen Sonntag noch.

    Gruß, Ash*feel free*ura

    --
    Selfcode: sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:) fl:( ss:) ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Fix dsl sbc yahoo com with User JavaScript
    Meine Browser: Opera 8.50 | Firefox 1.0.7 | Lynx 2.8.5 | Netscape 4.7 | IE 6.0
    Use OpenOffice.org
  2. Hallo Simon,

    Und zwar versuche ich via Javascript die Breite einer Tabelle zu lesen.

    Vielleicht hilft dir getComputedStyle.

    Grüße
     Roland

    1. Hi Orlando

      Exakt! Das ists was ich brauche. Tausend Dank!

      Ich verstehe momentan nicht weshalb hier eine andere Art des Zugriffs nötig ist, bin aber glücklich das ich weiterarbeiten kann.

      Grüsse,
      Simon

      1. Hi,

        Ich verstehe momentan nicht weshalb hier eine andere Art des Zugriffs nötig ist,

        weil das style-Objekt nur (und genau) die direkten Style-Angaben enthält, nicht die berechneten, nicht die reellen und nicht die irgend welcher fremden Regeln.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes