这里一个例子
<table id="test" width="100">
<tr><td>1</td><td bgcolor="red">red</td>
</tr>
<tr><td>2</td><td bgcolor="blue">blue</td>
</tr>
</table>
<input type="button" value="换行" onclick="moveRow(1,0)">
<script type="text/javascript">
function moveRow(r_1,r_2){
var tableID=document.getElementById("test");
tableID.moveRow(r_1,r_2);
}
setInterval('moveRow(1,0)',1000);
</script>
<table id="test" width="100">
<tr><td>1</td><td bgcolor="red">red</td>
</tr>
<tr><td>2</td><td bgcolor="blue">blue</td>
</tr>
</table>
<input type="button" value="换行" onclick="moveRow(1,0)">
<script type="text/javascript">
function moveRow(r_1,r_2){
var tableID=document.getElementById("test");
tableID.moveRow(r_1,r_2);
}
setInterval('moveRow(1,0)',1000);
</script>
moveRow只用于IE
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/ecmascript">
function moveUp(e){
var evt=e||window.event;
var srcEl=evt.target||evt.srcElement;
var oRow=srcEl.parentNode.parentNode;
if(oRow.rowIndex>0){
var oPreRow=oRow.parentNode.rows[oRow.rowIndex-1];
swapRow(oRow,oPreRow);
}
}function moveDown(e){
var evt=e||window.event;
var srcEl=evt.target||evt.srcElement;
var oRow=srcEl.parentNode.parentNode;
if(oRow.rowIndex!=oRow.parentNode.rows.length-1){
var oLstRow=oRow.parentNode.rows[oRow.rowIndex+1];
swapRow(oRow,oLstRow);
}
}function swapRow(oRow1,oRow2){
var strTemp="";
for(var i=0,nLen=oRow1.cells.length;i<nLen;i++){
strTemp=oRow1.cells[i].innerHTML;
oRow1.cells[i].innerHTML=oRow2.cells[i].innerHTML;
oRow2.cells[i].innerHTML=strTemp;
}
}
</script>
</head>
<body>
<table border="1">
<tr>
<td width="423">a </td>
<td width="205"><a href="#" onclick="moveUp(event)">[上移一行]</a>
<a href="#" onclick="moveDown(event)">[下移一行]</a> </td>
</tr>
<tr>
<td>b </td>
<td><a href="#" onclick="moveUp(event)">[上移一行]</a>
<a href="#" onclick="moveDown(event)">[下移一行]</a>
</td>
</tr>
<tr>
<td>c</td>
<td><a href="#" onclick="moveUp(event)">[上移一行]</a>
<a href="#" onclick="moveDown(event)">[下移一行]</a>
</td>
</tr>
<tr>
<td>d</td>
<td><a href="#" onclick="moveUp(event)">[上移一行]</a>
<a href="#" onclick="moveDown(event)">[下移一行]</a>
</td>
</tr>
<tr>
<td>e </td>
<td><a href="#" onclick="moveUp(event)">[上移一行]</a>
<a href="#" onclick="moveDown(event)">[下移一行]</a>
</td>
</tr>
<tr>
<td>f </td>
<td><a href="#" onclick="moveUp(event)">[上移一行]</a>
<a href="#" onclick="moveDown(event)">[下移一行]</a>
</td>
</tr>
</table>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
function getTable(obj)
{
return obj.parentElement.parentElement.parentElement;
}function getRowId(obj)
{
return obj.parentElement.parentElement.rowIndex;
}
function up(obj)
{
var tb = getTable(obj);
var rowId = getRowId(obj);
var tr = tb.rows[rowId];
if(rowId > 0)
{
tr.swapNode(tr.previousSibling);
}
}function down(obj)
{
var tb = getTable(obj);
var rowId = getRowId(obj);
var tr = tb.rows[rowId];
if(rowId < tb.rows.count)
tr.swapNode(nextSibling);
}
</script>
</head><body>
<table border="1">
<tr> <td>a </td> <td><button onclick="up(this)">[上移一行]</button><button onclick="down(this)">[下移一行]</button></td> </tr>
<tr> <td>b </td> <td><button onclick="up(this)">[上移一行]</button><button onclick="down(this)">[下移一行]</button> </td> </tr>
<tr> <td>c </td> <td><button onclick="up(this)">[上移一行]</button><button onclick="down(this)">[下移一行]</button> </td> </tr>
</table>
</body>
</html>
<head><title>换行</title>
<script language="javascript">
function getTable(obj)
{
return obj.parentElement.parentElement.parentElement;
}function getRowId(obj)
{
return obj.parentElement.parentElement.rowIndex;
}
function up(obj)
{
var tb = getTable(obj);
var rowId = getRowId(obj);
var tr = tb.rows[rowId];
if(rowId > 0)
{
tr.swapNode(tr.previousSibling);
}
}function down(obj)
{
var tb = getTable(obj);
var rowId = getRowId(obj);
var tr = tb.rows[rowId];
var num = document.getElementById("ll").getElementsByTagName("tr").length*1-1;
if(rowId < num)
{
tr.swapNode(tr.nextSibling);
}}
</script>
</head><body>
<table border="1" id="ll">
<tr> <td>a </td> <td><button onclick="up(this)">[上移一行]</button><button onclick="down(this)">[下移一行]</button></td> </tr>
<tr> <td>b </td> <td><button onclick="up(this)">[上移一行]</button><button onclick="down(this)">[下移一行]</button> </td> </tr>
<tr> <td>c </td> <td><button onclick="up(this)">[上移一行]</button><button onclick="down(this)">[下移一行]</button> </td> </tr>
</table>
</body>
</html>
<html>
<head>
<title>Table test</title>
<style type="text/css">
<!--
td { text-align:center;font-size:12px;padding:3px;}
-->
</style>
</head>
<body>
<table id="table1" bordercolor="#000000" width="200" border="1">
<tbody>
<tr>
<td width="25%">1</td>
<td width="25%">11</td>
<!--使用javascript:void(0)是为了能够传递this参数到事件处理程序-->
<td width="25%"><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td width="25%"><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>2</td>
<td>22</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>3</td>
<td>33</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>4</td>
<td>44</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>5</td>
<td>55</td>
<td><a href="javascript:void(0)" onclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" onclick="moveDown(this)">下移</a></td>
</tr>
</tbody>
</table>
</body>
</html><script language="JavaScript" type="text/javascript">
<!--
function cleanWhitespace(element) {
//遍历element的子结点
for (var i = 0; i < element.childNodes.length; i++) {
var node = element.childNodes[i];
//判断是否是空白文本结点,如果是,则删除该结点
if (node.nodeType == 3 && !/\S/.test(node.nodeValue))
node.parentNode.removeChild(node);
}
}
//获得表格对象
var _table=document.getElementById("table1");
cleanWhitespace(_table);
//使表格行上移,接收参数为链接对象
function moveUp(_a){
//通过链接对象获取表格行的引用
var _row=_a.parentNode.parentNode;
//如果不是第一行,则与上一行交换顺序
if(_row.previousSibling)swapNode(_row,_row.previousSibling);
}
//使表格行下移,接收参数为链接对象
function moveDown(_a){
//通过链接对象获取表格行的引用
var _row=_a.parentNode.parentNode;
//如果不是最后一行,则与下一行交换顺序
if(_row.nextSibling)swapNode(_row,_row.nextSibling);
}
//定义通用的函数交换两个结点的位置
function swapNode(node1,node2){
//获取父结点
var _parent=node1.parentNode;
//获取两个结点的相对位置
var _t1=node1.nextSibling;
var _t2=node2.nextSibling;
//将node2插入到原来node1的位置
if(_t1)_parent.insertBefore(node2,_t1);
else _parent.appendChild(node2);
//将node1插入到原来node2的位置
if(_t2)_parent.insertBefore(node1,_t2);
else _parent.appendChild(node1);
}
//-->
</script>