Max Smily: Es hakt beim Stylewerte auslesen

Hallo Forum,

ich steh wohl gerade auf dem Schlauch. Ich schaffe es nicht den Wert "top" eines absolut positionierten Divs per Javascript auszulesen.

Bei folgendem kleinen Beispiel erwarte ich, dass nach Klick auf die Box eine Alert-Box mit der Ausgabe "10px" erscheint. Warum klappt das nicht?

Viele Grüße
Max Smily

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<style type="text/css">
#test {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 300px;
  height: 200px;
  background-color: #DDDDDD;
  border: 1px solid black;
}
</style>
</head>
<body>

<div id="test" onclick="alert(this.style.top);"></div>

</body>
</html>

  1. Hallo Forum,

    ich hab inzwischen herausbekommen, dass Styles nur ausgelesen werden können, wenn sie direkt mit dem style-Attribut im jeweiligen HTML-Objekt eingetragen wurden. Styles, die über Klassen definiert wurden, lassen sich wohl nur mithilfe besonderer Funktionen auslesen.

    Eine hab ich hier gefunden: http://www.robertnyman.com/2006/04/24/get-the-rendered-style-of-an-element/

    Grüße Max Smily

  2. hi,

    ich steh wohl gerade auf dem Schlauch. Ich schaffe es nicht den Wert "top" eines absolut positionierten Divs per Javascript auszulesen.

    Dass du über style keine "Computed Styles" bzw. "Runtime Styles" auslesen kannst, hast du ja inzwischen herausgefunden.

    Für Höhe/Breite sowie top und left muss man da allerdings keinen besonders hohen Aufwand treiben, dafür gibt es offsetHeight, -Width, -Top und -Left. Bei letzteren solltest du aber auch die Werte der jeweiligen offsetParent(s) berücksichtigen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }