<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>


例子5 -- sample4_3.htm:
正如我们在Node节点介绍部分所指出的那样,appendChild()、replaceChild()、removeChild()、insertBefore()方法会立即改变文档的结构。下面的例子包含两个表格,我们试着把表格二的内容替换表格一的内容。
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>无标题文档</title> <script language="javascript"> function replaceContent() { var table1 = document.getElementsByTagName("table")[0]; var table2 = document.getElementsByTagName("table")[1]; var kid1 = table1.firstChild.firstChild.firstChild; //定位到<td>节点 var kid2 = table2.firstChild.firstChild.firstChild; //定位到<td>节点 var repKid = kid2.firstChild; //定位到表格二<td>内含的TextNode节点 try { //用表格二的单元格内容替换表格一的单元格内容,表格二变成没有单元格内容 kid1.replaceChild(repKid,kid1.firstChild); //下面注释如果开放,将出现object error,因为表格二已经被改变 //kid2.replaceChild(kid1.firstChild,kid2.firstChild); }catch(e){ alert(e); } } </script> </head> <body> <table width="200" border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td>表格一</td> </tr> </tbody> </table> <br> <table width="200" border="1" cellspacing="0" cellpadding="0"> <tbody> <tr> <td>表格二</td> </tr> </tbody> </table> <br> <input type="button" name="replaceNode" value="替换" onClick="replaceContent()"> </body> </html>