<table id=tb> 
    <tr> 
        <td>aaaaaaaa </td> 
    </tr> 
    <tr style="visibility:hidden"> 
        <td>bbbbbbbbb </td> 
    </tr> 
    <tr> 
        <td>aaaaaaaa </td> 
    </tr> 
</table> 
<SCRIPT LANGUAGE="JavaScript">
alert(document.getElementById("tb").rows[1].offsetHeight)
</SCRIPT>都隐藏了哪来的高度
那你换visibility:hidden好了
不过这样它还是要占页面高度的

解决方案 »

  1.   


    <table id=tb> 
        <tr> 
            <td>aaaaaaaa </td> 
        </tr> 
        <tr style="display:none" height="30"> 
            <td>bbbbbbbbb </td> 
        </tr> 
        <tr> 
            <td>aaaaaaaa </td> 
        </tr> 
    </table> 
    <SCRIPT LANGUAGE="JavaScript">
    alert(document.getElementById("tb").rows[1].height)
    </SCRIPT>这样呢
      

  2.   

    看一下这两个属性的区别就知道了
    display:none
    visibility:hidden
    用visibility:hidden你的问题就能解决了
      

  3.   

    其实根本无法感觉到闪动,因为实在太快了
    <table id=tb> 
        <tr> 
            <td>aaaaaaaa </td> 
        </tr> 
        <tr style="DISPLAY:none "> 
            <td>bbbbbbbbb </td> 
        </tr> 
    </table>
    <input type="button" value="getHeight" onclick="get()" />
    <script>
     function get(){
    var tr = document.getElementById('tb').rows[1];
    tr.style.display = '';
    var h = tr.offsetHeight;
    tr.style.display = 'none';
    alert(h);
    }
    </script>
      

  4.   


    visibility:hidden隐藏了控件上的文字,但行的格线还在,没有什么意义
      

  5.   


    HTML code
    <table id=tb> 
        <tr> 
            <td>aaaaaaaa </td> 
        </tr> 
        <tr style="display:none" height="30"> 
            <td>bbbbbbbbb </td> 
        </tr> 
        <tr> 
            <td>aaaaaaaa </td> 
        </tr> 
    </table> 
    <SCRIPT LANGUAGE="JavaScript">
      var a=document.getElementById('tb').rows[1].style.height;
      var b=document.getElementById('tb').rows[1].offsetHeight;
    </SCRIPT>看看,
    到底是a可以,
    还是b可以。
      

  6.   

    另一思路,代码有点多
    <table id=tb> 
        <tr> 
            <td>aaaaaaaa </td> 
        </tr> 
        <tr style="DISPLAY:none "> 
            <td>bbbbbbbbb </td> 
        </tr> 
    </table>
    <input type="button" value="getHeight" onclick="get()" />
    <script>
     function get(){
        var tr = document.getElementById('tb').rows[1]; //设置
        tr.style.position = 'absolute';
    tr.style.top = 0;
    tr.style.visibility = 'hidden'; tr.style.display = ''; //现在显示无所谓了
        var h = tr.offsetHeight; //得到高度
    tr.style.display = 'none'; //隐藏掉 //设置回去
    tr.style.position = 'static';
    tr.style.visibility = 'visible';    alert(h);
    }
    </script>
      

  7.   

    用visibility:hidden你的问题就能解决了