首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js怎么动态添加一行到table的第一行

2012-10-12 
js如何动态添加一行到table的第一行我现在调用table.insertRow()添加的行默认是添加到最后一行,请问我如

js如何动态添加一行到table的第一行
我现在调用table.insertRow();添加的行默认是添加到最后一行,请问我如何添加一行到table的第一行。
还有我添加的行如何设置样式,跟原来已有的行样式相同。

请大家帮我看看如何实现。

[解决办法]

HTML code
<script language="javascript" type="text/javascript">function add(){   var tb = document.getElementById("tb");   var tr = tb.insertRow(0);    tr.style.cssText = tb.rows[1].style.cssText;   var td = tr.insertCell();   td.innerHTML = "00000";}</script><input type="button" onclick="add()" value="add"><table id="tb">    <tr style="background:#CCC"><td>xxx</td></tr></table>
[解决办法]
JScript code
/*insertRow()这样是IE独有的.标准用法是:insertRow(-1): index为-1的时候就是默认插在最后一行.insertRow( 0): index为0的时候就是插在第一行至于样式一样 应该在样式表里统一设置.*/
[解决办法]
呵呵。。。我的也得了,参考一下,可以插在任意行后面的。。。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<script language="javascript" type="text/javascript">
function getO(id)
{
if (typeof(id)=="string")
return document.getElementById(id);
}

function appendAfterRow(tableID,RowIndex)
{
//FUNCTION: 向指定行后面增加一行,列数和第一行的列数一样
var o=getO(tableID);
var refRow=RowIndex;
var cells=o.rows[0].cells.length;
if(refRow=="") refRow = getO("nRow").value;
var v="";
var newRefRow=o.insertRow(refRow);
for (var i=0;i<cells;i++)
{
if(o.rows.length<10)
v="0"+o.rows.length+"0"+(i+1);
else
v=o.rows.length+"0"+(i+1);
newRefRow.insertCell(i).innerHTML=v;
}
}
</script>
<body>
<table width="100%" border="3" cellpadding="4" cellspacing="8" id="tb01" name="tb01">
<tr bgcolor="#CCCCCC">
<td>0101</td>
<td>0102</td>
<td>0103</td>
<td>0104</td>
</tr>
<tr>
<td>02</td>
<td>0202</td>
<td>0203</td>
<td>0204</td>
</tr>
</table>
在第<input name="nRow" type="text" id="nRow" onkeyup="this.value=this.value.replace(/[^0-9]*$/g,'');" value="1" size="10">行后面
<input type="button" value="插入行" name="btn01" onClick="javascript:appendAfterRow('tb01','');">
</body>
</html>


Hookee老大那么快啊 :)
[解决办法]
table.insertRow(0);
[解决办法]
objTable.insertRow(0);就可以了。

热点排行