function addProduct(productTable) { var node = $(productTable).cloneNode(true); var inps = node.getElementsByTagName("input"); for( var i=0;i<inps.length;i++ ) { //清空所有text内容 if(inps[i].type == 'text') inps[i].value = ""; } $(productTable).parentNode.insertBefore(node, $(productTable).nextSibling); } 这是最初的想法,可是后来再生成tr的时候,出现问题,生成的tr全部在第一个生成的table中出现,生成的table没有id,是不是和这个有关系呢
<input type=button onclick="AddTable();" value="AddTable"> <script> function AddTable(){ var tbl=document.createElement("table"); var r=tbl.insertRow(); var c=r.insertCell(); c.innerHTML="<input type=button onclick='AddRow(this);' value='AddRow'>";
r.align="center" tbl.border=1; document.body.appendChild(tbl); } function AddRow(obj){ var tbl=obj.parentNode.parentNode.parentNode.parentNode; var r=tbl.insertRow(); var c=r.insertCell();
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js测试</title>
<script src="jquery-1.3.2.js"></script>
<script>
$(document).ready(function(){
$("#tb").click(function(){
$(this).append(" <tr><td>1</td><td>2</td><td>3</td></tr>");
});
});
</script>
</head>
<body>
<table id="tb" width="200" border="1">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>yi</td>
<td>er</td>
<td>san</td>
</tr>
<tr>
<td>一</td>
<td>二</td>
<td>三</td>
</tr>
</table></body>
</html>
随便点击表格的一个位置就可以
没有你的jquery-1.3.2.js文件啊
本地不能运行
{
var node = $(productTable).cloneNode(true);
var inps = node.getElementsByTagName("input"); for( var i=0;i<inps.length;i++ )
{
//清空所有text内容
if(inps[i].type == 'text')
inps[i].value = "";
}
$(productTable).parentNode.insertBefore(node, $(productTable).nextSibling);
}
这是最初的想法,可是后来再生成tr的时候,出现问题,生成的tr全部在第一个生成的table中出现,生成的table没有id,是不是和这个有关系呢
<script>
function AddTable(){
var tbl=document.createElement("table");
var r=tbl.insertRow();
var c=r.insertCell();
c.innerHTML="<input type=button onclick='AddRow(this);' value='AddRow'>";
r.align="center"
tbl.border=1;
document.body.appendChild(tbl);
}
function AddRow(obj){
var tbl=obj.parentNode.parentNode.parentNode.parentNode;
var r=tbl.insertRow();
var c=r.insertCell();
c.innerHTML="<td><input><input><input></td>";
}
</script>
try
$(productTable).parentNode.insertBefore(node, $(productTable));
obj.parentNode.parentNode.parentNode.parentNode;
这里为什么要用4个parentNode
td: obj.parentNode
tr: obj.parentNode.parentNode
tbody:obj.parentNode.parentNode.parentNode
table:obj.parentNode.parentNode.parentNode.parentNode