Christian: CSS Probleme mit JS

Ich will von den DIVs die breite auslesen wenn ich width wie bei Box1 deklariere erhalte ich auch einen Wert beim auslesen. Wenn ich es aber in einer externen CSS Anweisung mache hat die Box2 keinen Wert, obwohl beide gleich aussehen.  Wie muss ich also vorgehen wenn ich den Wert von Box2 auslesen möchte?

Evtl. hat auch einer eine Idee wie ich direkt externen CSS Anweisung ändern/auslesen kann dies interessiert mich nämlich auch da ich so gleich mehrere boxen bearbeiten könnte.

  
<script type="text/javascript">  
 function W() {  
  var box1 = document.getElementById('box1').style.width;  
  var box2 = document.getElementById('box2').style.width;  
  alert("BOX1: [" + box1 + "]\nBOX2: [" + box2 + "]");  
 }  
</script>  
  
<style type="text/css">  
 #box1, #box2 {  
  height: 50px;  
  width: 50px;  
  background-color: #ff9900;  
  border: 1px solid #f1f2f3;  
  margin: 5px;  
 }  
</style>  
<div id="box1" style="width: 50px;">BOX1</div>  
<div id="box2">BOX2</div>  
  
<a href="#" onclick="W()">BOXen width</a>  

  1. Hallo Christian,

    Du hast die Width nicht über das Style-Attribut gesetzt, sondern über ein Stylesheet, das sie mit demn ID-Selector setzt. Da kannst du auch keine Antwort auf deine Abfrage von style.width  erwarten. Wenn du mit der  offsetWidth des betreffenden Elements arbeitest, hingegen schon!

    Gruß Gernot