document.all.mytable.rows.length为tr个数,document.all.mytable.rows[i](i的值为0到length-1)为各个tr
<script>
function myadd()
{
mytr="<table id=mytable>";
for(i=0;i<document.all.mytable.rows.length-1;i++)
mytr+=document.all.mytable.rows[i].outerHTML;
mytr+="<tr><td>"+document.all.td1.value+"</td>"+"<td>"+document.all.td2.value+"</td>"+"<td>"+document.all.td3.value+"</td></tr>";
mytr+=document.all.mytable.rows[document.all.mytable.rows.length-1].outerHTML;
mytr+="</table>"
document.all.mytable.outerHTML=mytr;
}
</script>
<table id=mytable>
<tr>
<td>11</td><td>12</td><td>13</td>
</tr>
<tr style="background:yellow">
<td>21</td><td>22</td><td>23</td>
</tr>
<tr>
<td>31</td><td>32</td><td>33</td>
</tr>
        <tr>
<td colspan=3>这是最后的 tr ,有其他用处</td>
        </tr>
</table>
td1<input id=td1>td2<input id=td2>td3<input id=td3></td>
<input type=button value=add onclick=myadd()>

解决方案 »

  1.   

    thanks---------------------------------------------------但有问题,为什么用下面这种方法,显示不出来啊???var tr = document.createElement("tr");
    tr.outerHTML = tr_html;
    tr.style.visibility = 'visible';

    my_table.rows[my_table.rows.length] = tr;好像没反应???
      

  2.   

    <script>
    function check(obj)
    {
      var tBoby = oTable.children[0]
      var hr_html = "<tr><td>this is a new row</td></tr>"
      hr_html = "<table style='display:none' id='myTable'>"+hr_html+"</table>"; 
      document.body.insertAdjacentHTML("beforeEnd",hr_html)
      tBoby.insertBefore(myTable.rows[0], tBoby.children[tBoby.children.length-1])
    }
    </script>
    <body>
    <table id="oTable">
    <tr>
        <td>...</td>
    </tr>
      <tr>
        <td>这是最后的 tr ,有其他用处,</td>
      </tr>
    </table>
    <input type=button onclick="check(this)">
    </body>