获取元素宽度的一个简单疑问解决办法

获取元素宽度的一个简单疑问代码如果这么写,我们可以很正常的获取到div1元素的宽度html xmlnshttp://ww

获取元素宽度的一个简单疑问
代码如果这么写,我们可以很正常的获取到div1元素的宽度
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script type="text/javascript">
  function divwidth() {
  var width = document.getElementById("div1").style.width;
  alert(width);
  }
  </script>
</head>
<body >
<div id="div1" style="width:300px;height:500px;border:1px solid black"></div><br />
<input type="button" onclick="divwidth()" />
</body>
</html>

但是代码如果像下面这么写,我们就无法获取到div1元素的宽度,我想问问为什么

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <style type="text/css">
  #div1
  {
  width:300px;
  height:500px;
  border:1px solid black;
  }
  </style>
  <script type="text/javascript">
  function divwidth() {
  var width = document.getElementById("div1").style.width;
  alert(width);
  }
  </script>
</head>
<body >
<div id="div1" ></div><br />
<input type="button" onclick="divwidth()" />
</body>
</html>

有劳各位大哥多多指教

[解决办法]

HTML code
<html xmlns="http://www.w3.org/1999/xhtml"><head>  <title></title>  <style type="text/css">  #div1  {  width:300px;  height:500px;  border:1px solid black;  }  </style>  <script type="text/javascript">  function getCss(obj, attr){    return obj.currentStyle? obj.currentStyle[attr] : getComputedStyle(obj, null)[attr];  }  function divwidth() {  //var width = document.getElementById("div1").style.width; 这样是获取行内styel  //获取css里值这样写  var obj = document.getElementById("div1");  alert(getCss(obj, 'width'));  }  </script></head><body ><div id="div1" ></div><br /><input type="button" onclick="divwidth()" /></body></html>