时间:2021-07-01 10:21:17 帮助过:58人阅读
本文实例讲述了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程序设计有所帮助。