动态改变select option时,宽度自动变短解决方法

代码不应该是先设置属性在追加,而应该是先追加再设置属性。

原因是 追加DOM要先追加 后设置属性,否则会有reflow发生。

<html>
  <head>
      
    <title>JQuery</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">    
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
 <!--
 <link rel="stylesheet" type="text/css" href="styles.css">
 -->
 <script type="text/javascript" src="js/jquery-1.6.2.js"></script>
 <script type="text/javascript">
  function add(){
        var obj = document.getElementById('lst1');
        var opn = document.createElement("OPTION");
        obj.appendChild(opn);//先追加
        opn.innerText = 11;
        opn.value = 11;
       
    }
 
 </script>
  </head>
  
  <body>
     <table style="width:500px;">
    <tr>
        <td style="width:100%;">
            <select id="lst1" style="width:95%;">
                <option>1</option>
            </select>
        </td>
    </tr>
</table>
<input type="button" value="show" onclick="add();">
    
  </body>
</html>

 

你可能感兴趣的:(html)