<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>
<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>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
.....现在要把这段html的代码添加到指定的行后面怎么加?
<!--
//第一种(你知道你要插入行的行数)
/******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>
<tr>... </tr>
<tr>... </tr>
<tr>... </tr>
.....
的形式了。我不想用insertRow,加一行或者几行,然后再从已得到的html里取出数据,放进这些新加的行里。
我现在知道要插入的位置之前的tr的id,需要一个方法,把这些代码往它后面一扔就完了。
不知道这样说,是不是好懂一些了?
开源文件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>谢谢大家,明天结贴加分!