JS实现的表格行上下移动操作示例


Posted in Javascript onAugust 03, 2016

本文实例讲述了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>

运行效果截图如下:

JS实现的表格行上下移动操作示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
在js中使用&quot;with&quot;语句中跨frame的变量引用问题
Mar 08 Javascript
javascript实现数字验证码的简单实例
Feb 10 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
javascript数组遍历for与for in区别详解
Dec 04 Javascript
JavaScript 学习笔记之操作符
Jan 14 Javascript
JavaScript 变量、作用域及内存
Apr 08 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
微信小程序之小豆瓣图书实例
Nov 30 Javascript
JavaScript实现时钟滴答声效果
Jan 29 Javascript
Angular路由ui-router配置详解
Aug 01 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
详解JS取出两个数组中的不同或相同元素
Mar 20 Javascript
基于jQuery实现淡入淡出效果轮播图
Jul 31 #Javascript
JS使用正则表达式实现关键字替换加粗功能示例
Aug 03 #Javascript
Angular2内置指令NgFor和NgIf详解
Aug 03 #Javascript
JS简单实现点击复制链接的方法
Aug 03 #Javascript
JS清除字符串中重复值的实现方法
Aug 03 #Javascript
JS使用onerror捕获异常示例
Aug 03 #Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
Aug 03 #Javascript
You might like
单位速度在实战中的运用
2020/03/04 星际争霸
PHP文件大小格式化函数合集
2014/03/10 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
[00:48]DOTA2国际邀请赛公开赛报名开始 扫码开启逐梦之旅
2018/06/06 DOTA
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中zip()函数用法实例教程
2014/07/31 Python
Python中字典和JSON互转操作实例
2015/01/19 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
深入浅析python 中的匿名函数
2018/05/21 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
会计实习期自我鉴定
2013/10/06 职场文书
中学教师师德承诺书
2014/05/23 职场文书
护士业务学习心得体会
2016/01/25 职场文书
Python List remove()实例用法详解
2021/08/02 Python
详解MySql中InnoDB存储引擎中的各种锁
2022/02/12 MySQL
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers
mysql函数之截取字符串的实现
2022/08/14 MySQL
CSS 鼠标点击拖拽效果的实现代码
2022/12/24 HTML / CSS