none
IE8动态改变table宽度时候遇到的问题,为什么英数字同汉字的执行结果不一致。 RRS feed

  • 问题

  • 问题代码如下:

    <style>
    table
    {
    border-collapse:collapse;
    table-layout:fixed;
    overflow:hidden;
    }
    td
    {
    overflow:hidden;
    white-space: nowrap;
    width : 80px ;
    font-family: Verdana,Tahoma,Arial,Geogia,宋体,Sans-serif;
    font-size:12px;
    }
    div
    {
    margin:0px;
    background-color : red ;
    }
    </style>
    </head>

    <body>
    <input type=button onclick=hideCol(1) value='隐藏第 2 列'>
    <input type=button onclick=showCol(1) value='显示第 2 列'>
    <table border=1 id="grid01" onselectstart="return false;">  
           <tr id="tele2">  
             <td>姓名</td>  
             <td>性别</td>  
             <td>电话</td>  
             <td>住址</td>  
             <td>政治面貌</td>  
             <td>学历</td>  
             <td>备注</td>
             <td>&nbsp;</td> 
           </tr>   
     </table>
     
    <script language="javascript" type="text/javascript">
    function hideCol(colIdx){hideOrShowCol(colIdx, 0);}
    function showCol(colIdx){hideOrShowCol(colIdx, 1);}
    function hideOrShowCol(colIdx, isShow)
    {
    table = document.getElementById("grid01");
    table.style.backgroundColor='red';
    var tr = table.rows[0];
    tr.children[colIdx].style.width = isShow ? 80 : 0;
    }

    </script>
    </body>

    说明:把代码中执行宽度改变的那个表格中的“性别”替换成sex ,程序正常,整个表格高度没有发生变化。
    当内容为汉字时候,整个表格高度会发生改变。请问是什么原因?

    2009年4月22日 16:53

答案