自: http://fulong258.blog.163.com/blog/static/1789504420088229280691/
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> JS操作表格 </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
</body>
<script language="javascript">
//添加表格
function loadTable()
{
var tb = document.createElement("table");
var rowTitle = tb.insertRow();
var cellTitle1= rowTitle.insertCell();
var cellTitle2= rowTitle.insertCell();
cellTitle2.colSpan = 2;
cellTitle2.align = "right";
cellTitle2.innerHTML = "<input type = 'button' value= '确定' onclick='addRow(this.parentElement)'>";
cellTitle1.innerHTML = "<span>添加</span>";
loadSelect(cellTitle1);
for(var i = 0; i < 10; i++){
var row = tb.insertRow();//添加行
loadCells(row, i);
}
//设置属性
tb.id = "tb";
tb.align="center";
tb.cellPadding = 1;
tb.bgColor="#ffffee";
tb.style.borderWidth = "1px";
tb.style.borderCollapse = "collapse";
tb.style.borderStyle = "solid";
tb.rules = "ALL";//应用全部
tb.borderColor = "#000000";
document.body.appendChild(tb);
}
//添加单元格
function loadCells(rowObj,m)
{
var cell1 = rowObj.insertCell();//添加单元格
var cell2 = rowObj.insertCell();//添加第二个单元格
var cell3 = rowObj.insertCell();
cell1.innerHTML = " " + parseInt(m + 1) + " ";
cell2.innerHTML = "<input type='text' name='txt_name' value=''>";
cell3.innerHTML = "<span style='cursor:hand;' onclick='delRow(this)'> × </span>";
}
//添加select框
function loadSelect(obj)
{
var s = document.createElement("select");
s.id = "sel_count";
s.name = s.id;
for(var i = 1; i <= 10; i++){
var opt = new Option(i+"行",i);
s.options.add(opt);
}
obj.appendChild(s);
}
//删除行
function delRow(obj)
{
var tr = obj.parentElement.parentElement;
var tb = tr.parentElement.parentElement;//table标签和tr标签隐式存在一个tbody
tb.deleteRow(tr.rowIndex);
}
//选择好的个数的行,传入单元格
function addRow(obj)
{
var tr = obj.parentElement;
var cnt = (tr.cells[0]).children[1].value;//个数
var tb = tr.parentElement.parentElement;
var lastRow = tb.rows[tb.rows.length - 1];//获得当前最后一行
var maxIndex= parseInt(lastRow.cells[0].innerText);//获得当前表格中显示的最好编号
for(var i = 0; i < cnt; i++){
var newRow = tb.insertRow();
loadCells(newRow,parseInt(maxIndex + i));
}
}
loadTable();
</script>
</html>
********************************************************************************
<html>
<head>
<title></title>
<SCRIPT LANGUAGE="JavaScript">
function showTable(id){
var tb=document.getElementById(id);
var rows=tb.rows;
for(var i=0;i<rows.length;i++){
var cells=rows[i].cells;
for(var j=0;j<cells.length;j++){
alert(cells[j].childNodes[0].value);
}
}
}
function showTd(id){
var td=document.getElementById(id);
var cell=td.parentElement;
alert(cell.childNodes[0].value);
alert(cell.cellIndex);
}
</SCRIPT>
</head>
<body>
<input type="button" onclick="showTable('mailTable');" value="遍历table"/>
<input type="button" onclick="showTd('th01Input');" value="取得td的index"/>
<table id="mailTable">
<tr>
<th><input value="th00"></th>
<th><input name="th01Input" value="th01"></th>
</tr>
<tr>
<td><input value="th10"></td>
<td><input value="th11"></td>
</tr>
<tr>
<td><input value="th20"></td>
<td><input value="th21"></td>
</tr>
</table>
</body>
</html>
另外ie,firefox以及其它浏览器对于 table 标签的操作都各不相同,
在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,
使用appendChile方法也不管用。
//向table追加一个空行:
var otr = otable.insertRow(-1);
var otd = document.createElement("td");
otd.innerHTML = " 测试";
otd.className = "css";
otr.appendChild(otd);
更多请进: