<table width="200" border="1">
<tbody>
<tr>
<td width="25%">1</td>
<td width="25%">11</td>
<td width="25%"><a href="javascript:void(0)" οnclick="moveUp(this)">上移</a></td>
<td width="25%"><a href="javascript:void(0)" οnclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>2</td>
<td>22</td>
<td><a href="javascript:void(0)" οnclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" οnclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>3</td>
<td>33</td>
<td><a href="javascript:void(0)" οnclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" οnclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>4</td>
<td>44</td>
<td><a href="javascript:void(0)" οnclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" οnclick="moveDown(this)">下移</a></td>
</tr>
<tr>
<td>5</td>
<td>55</td>
<td><a href="javascript:void(0)" οnclick="moveUp(this)">上移</a></td>
<td><a href="javascript:void(0)" οnclick="moveDown(this)">下移</a></td>
</tr>
</tbody>
</table>
<script type="text/javascript">
<!--
function moveUp(_a){
var _row = _a.parentNode.parentNode;
//如果不是第一行,则与上一行交换顺序
var _node = _row.previousSibling;
while(_node && _node.nodeType != 1){
_node = _node.previousSibling;
}
if(_node){
swapNode(_row,_node);
}
}
function moveDown(_a){
var _row = _a.parentNode.parentNode;
//如果不是最后一行,则与下一行交换顺序
var _node = _row.nextSibling;
while(_node && _node.nodeType != 1){
_node = _node.nextSibling;
}
if(_node){
swapNode(_row,_node);
}
}
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>