我使用js动态创建的,表格的元素是由一个动态数组获得的,但每次onclick创建一次表格不会覆盖原来已创建的表格,如何覆盖

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <table width="500" border="1" id="demo">
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </table>
    <input type="button" value="清空表格" id="btnClearTable" />
    <script type="text/javascript">
    document.getElementById('btnClearTable').onclick = function() {
    var o = document.getElementById('demo');
    for (var i = 0, len = o.getElementsByTagName('tr').length; i < len; i ++) o.deleteRow(0);
    }
    </script>
    </body>
    </html>
      

  2.   

    先找到旧表格的父元素,假设是p,然后
    p.replaceChild(new table,oldtable)试试
      

  3.   


    function statis()
    {
    //将数组以表格形式展现出来
    var myTable=document.getElementById("statis");
    for(var i=0;i<newArr.length;i++)
    {
    var x=myTable.insertRow(i);
    var a=x.insertCell(0);
    a.innerHTML=newArr[i][0];
    var b=x.insertCell(1);
    b.innerHTML="<img src="+newArr[i][1]+"/>";
    var c=x.insertCell(2);
    c.innerHTML="<img src="+newArr[i][2]+"/>";
    var d=x.insertCell(3);
    d.innerHTML="<img src="+newArr[i][3]+"/>";
    }
    }<input type="button" value="详细统计结果" id="creatStatis" />
    <table id="statis">

    </table>
      

  4.   


    function statis() {
        //将数组以表格形式展现出来
        var myTable = document.getElementById("statis");

    //加下面这一行代码清空一下即可
    for (var i = 0, len = myTable.getElementsByTagName('tr').length; i < len; i ++) myTable.deleteRow(0);


        for (var i = 0; i < newArr.length; i++) {
            var x = myTable.insertRow(i);
            var a = x.insertCell(0);
            a.innerHTML = newArr[i][0];
            var b = x.insertCell(1);
            b.innerHTML = "<img src=" + newArr[i][1] + "/>";
            var c = x.insertCell(2);
            c.innerHTML = "<img src=" + newArr[i][2] + "/>";
            var d = x.insertCell(3);
            d.innerHTML = "<img src=" + newArr[i][3] + "/>";
        }
    }
      

  5.   

    <title>无标题文档</title>
    <script type="text/javascript">
    function change(id){
    var a=document.getElementById(id);
    var p=a.parentNode;
    var d=document.createElement("div");
    d.innerHTML="sss";
    p.replaceChild(d,a);
    }
    </script>
    </head><body>
    <div id="test">test</div>
    <input type="button" onclick="change('test')">
    </body>
    </html>
    类似于这样  你把div改成table试试
      

  6.   

    嗯 可以了 我把 for (var i = 0, len = myTable.getElementsByTagName('tr').length; i < len; i ++)改成for(var i=0;i<myTable.getElementsByTagName('tr').length;i++)怎么就不行了?
      

  7.   

    删掉一行后,myTable.getElementsByTagName('tr').length值也会变化。