现在我要做一个js删除table里的tr (保留第一个th)  页面是jsp   
table形式如下:<table id="tableCreate" width="268" border="1" cellpadding="0" cellspacing="0">
<tr>
<th scope="col" width="40%">name</th>
<th scope="col">time</th>
 </tr>           
</table>其他的tr都是js动态添加的:  所以我的目的是  当下一次添加的时候清空前一次的tr数据
用 javascript实现:
求助-------------------

解决方案 »

  1.   


    var t =  document.getElementById("tableCreate");
    for(var u=0;u<t.rows.length;u++){
    if(u!=0){
    t.deleteRow(u);
    }
    }
    这是我的代码 , 但是出现情况是只删除了一半 .. 困惑中
      

  2.   

    因为你每删一次 rows.length都在变
      

  3.   

    肯定是删除一半啊,t.rows.length每次都会变
    var t =  document.getElementById("tableCreate");
    for(var u=0, j = t.rows.length;u < j;u++){
        if(u!=0){
            t.deleteRow(u);
        }
    }
      

  4.   


    var table=document.getElementById('table1');
    while(table.rows.length!=1){
    table.deleteRow(table.rows.length-1);
    };
      

  5.   


    var t =  document.getElementById("tableCreate");
    while(t.rows.length>1){
    t.deleteRow(1);
    }
      

  6.   


    var t =  document.getElementById("tableCreate");
    alert(t.rows.length);
    var leg = t.rows.length;
    for(var u=0;u<leg;u++){
    alert(u);
    if(u!=0){
    t.deleteRow(1);
    }
    }谢谢各位  我解决了,真的是都在变化的,这下好了  谢谢谢谢  结贴散分
      

  7.   

    我觉得我的while写的就挺好 很简洁
      

  8.   


    这见过这样的for循环写法啊 !!!5楼  6楼  正解   撒分
      

  9.   

    简洁是简洁。但性能不高。。知道每次length都会强制渲染树重排来获取长度么?
    必然是将length放到缓存中,然后循环是最好的。。