<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title>javascript测试程序</title>
  <link rel="stylesheet" type="text/css" href="javascript_test.css"/>
  <script type="text/javascript">
   window.onload = function(){
     var obj = document.styleSheets[0]; // [object StyleSheetList] 样式表的个数<link>
     var rule = null; // [object CSSRule]

     if (obj.cssRules){
       rule = obj.cssRules[0];  // 非IE [object CSSRuleList]
     } else {
       rule = obj.rules[0];     // IE [object CSSRuleList]
     }        alert(rule.style.width); // 谷歌浏览器不能输出
   };
  </script>
 </head>
 <body>
  <div id="test">测试DIV</div>
 </body>
</html>以上程序段怎么在谷歌浏览器中不能输出宽度?浏览器stylesheetjavascript

解决方案 »

  1.   

    w3c
    document.defaultView.getComputedStyle(element).width
    ie
    element.currentStyle.width
    类似这样试试
      

  2.   

    因为你这个CSS第一条压根就没有设置width这个样式
      

  3.   

    不好意思,我的CSS文件内容如下:
    #test{
    height: 200px;
    width: 300px;
    background-color: green;
    }
      

  4.   


    但是在Firefox中都可以显示?唯独谷歌浏览器不行
      

  5.   

    我表示我这里在chrome下面可以显示出来。。
      

  6.   

    是不是我Chrome浏览器的版本有问题?
      

  7.   

    噢。。我知道了,估计是因为安全问题,本地的html文件直接打开各种受限制。。我刚说有是在服务器上测的。现在拿下来就挂点了。
      

  8.   

    就是说:如果我将这个HTML文件放到某个服务器上就能正确的现实出来,是这样吗?
      

  9.   

    你可以把代码复制到控制台,随便打开一个网站试下就知道了。不过好像一般人家都是以#charset='utf-8'开头,你cssRules[0]就会有问题了。