本文實例講述了JS實現表格行上下移動操作的方法。分享給大家供大家參考,具體如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>表格行移動</title> </head> <body> <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)" 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> <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> </body> </html>
運行效果截圖如下:
更多關於JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript查找算法技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript中json操作技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》及《JavaScript數學運算用法總結》
希望本文所述對大家JavaScript程序設計有所幫助。