js如何动态添加一行到table的第一行 本帖最后由 alex197963 于 2009-08-03 17:55:33 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <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> /*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老大那么快啊 :) 怪了,我这个在MS,FF,NS IE下都可以运行,刚测了... table.insertRow(0); js弹出div显示当前页面的预览效果? 跪求一段代码 自动判断IP 然后跳转网址 关于extjs的菜人问题 跳转页时传递多个参数的问题!!!! 录入的时间不能超过当前时间的5天用JS怎么写? 求助网页中控制层的显示/隐藏,以及位置变化的问题 求助:点击按钮连动的问题 找javascript,asp.net二年以上经验 在深圳5K左右,QQ:15218231 怎么样在iframe里取得父窗口里层的值,然后改变iframe里的值? 求Base64变形逆向 从jquery对象中提取xml 页面大小改变执行特定函数
<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>
/*
insertRow()这样是IE独有的.
标准用法是:
insertRow(-1): index为-1的时候就是默认插在最后一行.
insertRow( 0): index为0的时候就是插在第一行
至于样式一样 应该在样式表里统一设置.*/
"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老大那么快啊 :)