<html>
<head>
<script type="text/javascript">
//tableObject.insertRow(index)
//新行将被插入 index 所在行之前。若 index 等于表中的行数,则新行将被附加到表的末尾
function insRow()
  {
  document.getElementById('myTable').insertRow(0) 
  }
</script>
</head><body>
<table id="myTable" border="1">
<tr>
<td>Row1 cell1</td>
<td>Row1 cell2</td>
</tr>
<tr>
<td>Row2 cell1</td>
<td>Row2 cell2</td>
</tr>
</table>
<br />
<input type="button" onclick="insRow()"
value="Insert new row"></body>
</html>

解决方案 »

  1.   

    补充说明一下我已经拿到一段html的代码,已知形式一定是
    <tr>...</tr>
    <tr>...</tr>
    <tr>...</tr>
    .....现在要把这段html的代码添加到指定的行后面怎么加?
      

  2.   

    2楼的这个方法,我是会的。现在关键是另一个函数传给我的,可能是多行组成的一段html代码,所以2楼的方法不太好用了
      

  3.   

    要是想用js实现,1楼的方法可以,要是想直接将html代码插入并显示效果,lz可以参考innerHTML属性。
      

  4.   

    给table添加一个tbody, 令其innerHTML="<tr>....</tr><tr>....</tr>....."
      

  5.   

    <script type="text/JavaScript">
    <!--
    //第一种(你知道你要插入行的行数)
    /******index为你要插入行的前一行的行数(即在这个表中处于第几行),sum为你要插入的行的个数******/
    function insertrow(index,sum){
    for(var i=0;i<sum;i++){
    document.getElementById("table").insertRow(index+1);
    }
    }
    //第二种(你知道你要插入行的id)
    /******objid为你要插入行的id,sum为你要插入的行的个数******/
    function insertrow(objid,sum){
    var table=document.getElementById("table");
    var index;
    for(var i=0;i<table.rows.length;i++){
    if(table.rows[i].id==objid)
    index=i;
    }
    for(var i=0;i<sum;i++){
    table.insertRow(index+1);
    }
    }
    //-->
    </script>
      

  6.   

    多谢小王子!!!现在的问题是,我拿到的html段,就已经是
    <tr>... </tr>
    <tr>... </tr>
    <tr>... </tr>
    ..... 
    的形式了。我不想用insertRow,加一行或者几行,然后再从已得到的html里取出数据,放进这些新加的行里。
    我现在知道要插入的位置之前的tr的id,需要一个方法,把这些代码往它后面一扔就完了。
    不知道这样说,是不是好懂一些了?
      

  7.   

    刚搞定了
    开源文件jQuery.js包好了一个方法insertAfter(),非常简单。解决如下:<script type="text/JavaScript">
    //data为拿到的html段,'tr_'+id是目标位置之前的行id
    var data = "<tr>...</tr><tr>...</tr><tr>...</tr><tr>...</tr><tr>...</tr>";
    $(data).insertAfter($('#tr_'+id));
    </script>谢谢大家,明天结贴加分!