<select id="test" style="display:none;width:90" width=80 >
   <option>a</option>
   <option>a</option>
</select><SCRIPT LANGUAGE="JavaScript">
<!--
alert(document.all.test.style.width);
alert(document.all.test.width);
//-->
</SCRIPT>//这个事先指定了宽

解决方案 »

  1.   

    先显示, 用clientWidth等取宽, 再用display="none"将其隐藏
      

  2.   

    不用display=none,这样取不到宽高
    改用visibility=hidden 可以用以下的方法取到宽高
    <body onLoad="alert(test.offsetWidth+"\n"+test.offsetHeight);">
    <select id="test" style="visibility: hidden">
       <option>a</option>
       <option>a</option>
    </select>
    </body>