估计读取的是实际渲染宽度 因为display="none"之后img没有被渲染 所以....
不过width属性应该是定值.....奇怪 你是不是用offsetWidth来读的?

解决方案 »

  1.   

    都display为none了,还有什么宽度
      

  2.   

    请大家帮帮忙,目前要处理这个问题.<div>中许多图片,我想先处理一下,再显示给用户,所以先要设为none.最后再设为block
      

  3.   

    <div style="display:none;">
      <img src='1.jpg' id='i1' style="width:100px;" />
    </div>
    <script language="javascript">
      alert(document.getElementById('i1').style.width);
    </script>
      

  4.   

    也就是说你把width设置在style中,就可以了
      

  5.   

    img 如果有宽度,那不可能会为0的
    div的display的属性none只是为了隐藏,就算是none也不会读到宽度为0的你是不是读错宽度值啊~
      

  6.   

    谢谢楼上楼上的,因为我要读的程序是生成的,只写成width=100类的方式,所以用style等不好用.楼上的,我没有读错,.把display:block就可以了.none 时就是返回为零.