Auslesen von CSS-Properties funktioniert nicht

Thomas D

Erfahrenes Mitglied
Hallo!

Ich habe das Problem, dass ich die CSS-Eigenschaft eines DOM-Objektes (<div>) auslesen möchte, stets jedoch einen Leerstring zurück bekomme, obwohl ich es bereits gesetzt habe.

HTML:

Code:
<head>
	<link href="style/layout.css" rel="stylesheet" type="text/css"/>
	<script type="text/javascript">
		function seiteZentrieren ()
		{
			var target = document.getElementById("mainBackground").style;
			alert (target.left);
		}
	</script>
</head>
<body onload="javascript: seiteZentrieren();">
	<div id="mainBackground">
...

layout.css:
Code:
#mainBackground
{
	height: 935px;
	width: 970px;
	left: 0px;
}

Woran könnte das liegen?

MfG, Thomas D.
 
...Woran könnte das liegen?
...an deinen falschen Erwartungen. :)
Du müsstest du zum style-Objekt noch eine Eigenschaft hinzufügen, um die CSS-Eigenschaft als String zu erhalten. Sieh dir bitte mal in selfHTML das style-Objekt an, dort sind auch (fast) alle Eigenschaften aufgelistet.

Edit: Entschuldigung, habe gerade jetzt erst gesehen, dass du under alert-Box die left-Eigenschaft stehen hast!
 
Zuletzt bearbeitet:
Also ich bin's noch mal:

...obwohl ich es bereits gesetzt habe.
Falls du damit die verlinkte CSS-Datei in deinem angeführten Beispielcode meinst, dann müsstest du es so versuchen:
Code:
idName = "mainBackground";
eigenschaft = "left";
idObj = document.getElementById(idName);
cssEigensch = window.getComputedStyle? window.getComputedStyle(idObj,"" ).getPropertyValue(eigenschaft) : idObj.currentStyle.getAttribute(eigenschaft);
Wenn du aber per JavaScript über das style-Objekt bereits eine Eigenschaft einem Objekt zugewiesen hast, dann sollte dein Beispielcode eigentlich funktionieren.
 

Neue Beiträge

Zurück