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 相关文章推荐
jquery交替变换颜色的三种方法 实例代码
Nov 19 Javascript
jQuery学习总结之jQuery事件
Jun 30 Javascript
javascript中hasOwnProperty() 方法使用指南
Mar 09 Javascript
详解AngularJS中的表格使用
Jun 16 Javascript
jquery中live()方法和bind()方法区别分析
Jun 23 Javascript
jquery根据一个值来选中select下的option实例代码
Aug 29 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 Javascript
js + css实现标签内容切换功能(实例讲解)
Oct 09 Javascript
基于vue实现分页效果
Nov 06 Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 Javascript
javascript数组的定义及操作实例
Nov 10 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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php adodb连接不同数据库
2009/03/19 PHP
php实现mysql同步的实现方法
2009/10/21 PHP
使用php判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
js 屏蔽鼠标右键脚本附破解方法
2009/12/03 Javascript
firefox firebug中文入门教程 脚本之家新年特别版
2010/01/02 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
jQuery插件uploadify实现ajax效果的图片上传
2016/06/18 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
2019/01/05 jQuery
nodejs微信开发之自动回复的实现
2019/03/17 NodeJs
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
python中enumerate的用法实例解析
2014/08/18 Python
Python实现获取网站PR及百度权重
2015/01/21 Python
python清除字符串里非数字字符的方法
2015/07/02 Python
详解numpy的argmax的具体使用
2019/05/27 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
2020/10/15 Python
英国在线玫瑰专家:InterRose
2019/12/01 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
员工自我鉴定
2013/10/09 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
和睦家庭事迹
2014/05/14 职场文书
综治工作汇报材料
2014/10/27 职场文书
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python