Haefti: style-Eigenschaften auslesen

Hallo!
Ich habe das Forum schon durchgesucht, aber keine befriedigende Antwort gefunden, also versuche ich es mal selber.
Ich möchte style-Eigenschaften eines div-Bereichs auslesen, die in einer CSS-Datei stehen.
Folgender Code führt jedoch nur zu einem leeren alert() und keiner Info über die Breite.

CSS-Datei:
  div#test {
    position: absolute;
    top: 325px;
    left: 675px;
    width: 16px;
    height: 16px;
    z-index:2;
   }

HTML-Datei:

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

function showinfo()
{
alert(document.getElementById("test").style.width);
}

//-->
</script>

</head>

<body>

<div id="test">
  <a href="test.html" onmouseover="showinfo();">
   testlink
  </a>
</div>
.
.
.

Auch die anderen gesetzten Eigenschaften kann ich nicht abfragen.
Erst wenn ich sie explizit per JS bzw. DOM setze, kann ich sie auch auslesen, aber sie sind doch eigentlich schon durch die CSS-Datei gesetzt oder verstehe ich das falsch?

Bin für jede Hilfe dankbar!

Haefti

  1. Tach

    Auch die anderen gesetzten Eigenschaften kann ich nicht abfragen.
    Erst wenn ich sie explizit per JS bzw. DOM setze, kann ich sie auch auslesen, aber sie sind doch eigentlich schon durch die CSS-Datei gesetzt oder verstehe ich das falsch?

    Du kannst mit dem JavaScript-Style-Objekt leider nur die CSS-Eigenschaften lesen, die auch im style-Attribut des betreffenden Elementes stehen. Der Parser greift dabei nicht auf die CSS-Klassendefinition zu.
    Selbige kann man aber auch auslesen, z.b. für den IE:

    http://msdn.microsoft.com/workshop/author/dhtml/reference/collections/stylesheets.asp

    für Mozilla gibt es afaik was äquivalentes.

    Viele Grüße,

    Jörg

  2. Hallo!

    Ich habe das Forum schon durchgesucht, aber keine befriedigende Antwort gefunden, also versuche ich es mal selber.
    Ich möchte style-Eigenschaften eines div-Bereichs auslesen, die in einer CSS-Datei stehen.

    Ganz interessant & hilfreich finde ich folgende Seite zu diesem Thema:
    http://www.quirksmode.org/dom/w3c_css.html

    Gruß Gunther

  3. <script language="JavaScript">

    Da fehlt das type Attribut.

    <!--

    function showinfo()
    {
    alert(document.getElementById("test").style.width);

    Wenn es dir nur um die Breite geht dann kannst du auch document.getElementById("test").offsetwidth; nehmen

    Struppi.

    1. Wenn es dir nur um die Breite geht dann kannst du auch document.getElementById("test").offsetwidth; nehmen

      Ich mein natürlich:
      document.getElementById("test").offsetWidth;

      Struppi.