在如下网页中点击按钮“删除”会出错。最后发现,如果把TABLE1第三行中的display="none"去掉,即第三行改为:
<TR>
<TD>7</TD>
<TD>8</TD>
<TD>9</TD>
</TR>
就没有问题了。谁能告诉我是怎么回事?该怎么解决?<HTML><SCRIPT LANGUAGE="JavaScript">
<!--
function test(){ TABLE1.rows(2).deleteCell(); }
//-->
</SCRIPT><BODY>
<TABLE ID=TABLE1>
<TR><TD>1</TD><TD>2</TD><TD>3</TD></TR>
<TR><TD>4</TD><TD>5</TD><TD>6</TD></TR>
<TR style="display:none">
<TD style="display:none">7</TD>
<TD style="display:none">8</TD>
<TD style="display:none">9</TD>
</TR>
</TABLE><button onclick="test()">删除</button></BODY>
</HTML>

解决方案 »

  1.   

    function test(){ 
    alert(document.getElementById("TABLE1").childNodes[0].childNodes.length)
    TABLE1.rows(2).removeNode(true);; 
    alert(document.getElementById("TABLE1").childNodes[0].childNodes.length)
    }
      

  2.   

    rows(2) 都被你 display:none了啊
      

  3.   

    用removeNode确实可以删除掉TD对象(你的程序写成删除TR对象了:)。不过removeNode不是W3C的接口,所以我给改成removeChild了。最后的结果为:function test(){ TABLE1.rows(2).removeChild(TABLE1.rows(2).cells(2));
    TABLE1.rows(2).cells(0).style.display="block"; //用于看出删除之后的效果
    TABLE1.rows(2).cells(1).style.display="block"; //用于看出删除之后的效果}希望大家共同提高!不过deleteCell会有这样的问题,还是挺奇怪的。
      

  4.   

    whoisyoung(轩辕千年):不是显示的问题。是无法删除。你执行一下代码就知道了。设置成display="none",执行删除操作就会出错
      

  5.   

    呵呵,太好了,我也遇到这问题~~deleteCell(); 确实不能删除隐藏的