在HTML文檔中,佈局和定位常常通過表格<table>來實現。
因此,例子將演示操作表格內容,將表格的四個單元行順序顛倒。
如果沒有使用<tbody>標籤,則<table>把全部的<tr>當做是屬於一個子節點<tbody>,
所以我們採用數組緩存的方式,把行數據顛倒一下。
這個例子同時也演示瞭如何使用DOM創建表格單元行。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>無標題文檔</title>
<script language="javascript">
function reverseTable() {
var node = document.getElementsByTagName("table")[0]; //第一個表格
var child = node.getElementsByTagName("tr"); //取得表格內的所有行
var newChild = new Array(); //定義緩存數組,保存行內容
for(var i=0;i<child.length;i++) {
newChild[i] = child[i].firstChild.innerHTML;
}
node.removeChild(node.childNodes[0]); //刪除全部單元行
var header = node.createTHead(); //新建表格行頭
for(var i=0;i<newChild.length;i++) {
var headerrow = header.insertRow(i); //插入一個單元行
var cell = headerrow.insertCell(0); //在單元行中插入一個單元格
//在單元格中創建TextNode節點
cell.appendChild(document.createTextNode(newChild[newChild.length-i-1]));
}
}
</script>
</head>
<body>
<table width="200" border="1" cellpadding="4" cellspacing="0">
<tr>
<td height="25">第一行</td>
</tr>
<tr>
<td height="25">第二行</td>
</tr>
<tr>
<td height="25">第三行</td>
</tr>
<tr>
<td height="25">第四行</td>
</tr>
</table>
<br>
<input type="button" name="reverse" value="開始顛倒" onClick="reverseTable()">
</body>
</html>