for(var j=t1.rows.length;j>=3;j--) //换一种循环条件, 因为你删除了3原来的4就是3了
{
   ///只执行一次,为什么?t1.rows.length=5 
}

解决方案 »

  1.   

    <script>
    while(t1.rows.length>3)
    {
       t1.deleteRow(3);
       ///只执行一次,为什么?t1.rows.length=5 
    }
    </script>
      

  2.   

    for(var j=3;j<t1.rows.length;j++)
    {
       t1.deleteRow(j);
       alert(""+t1.rows.length) 
       ///对话框只出现一次t1.rows.length=5 
    }
      

  3.   

    t1.deleteRow(j);
    是不是他出现了错误
      

  4.   

    <script>
    var l=t1.rows.length
    for(var j=3;j<l;j++)
    {
       t1.deleteRow(3);
       alert(""+t1.rows.length) 
       ///对话框只出现一次t1.rows.length=5 
    }
    </script>
      

  5.   

    t1.rows.length == 5;//表示有五行
    但是对于t1.deleteRow();删除时的索引值是 0 1 2 3 4
    在你的循环中删除了索引值等于3的那个(即第四行), rows.length变成了4 而 j 也等于 4, 已经跳出了你的循环条件了.