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 相关文章推荐
JavaScript QueryString解析类代码
Jan 17 Javascript
jQuery.validate 常用方法及需要注意的问题
Mar 20 Javascript
jQuery $命名冲突解决方案汇总
Nov 13 Javascript
JavaScript中number转换成string介绍
Dec 31 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
Dec 17 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
Mar 08 Javascript
JS实现针对给定时间的倒计时功能示例
Apr 11 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
Nov 14 Javascript
配置eslint规范项目代码风格
Mar 11 Javascript
怎么使用javascript深度拷贝一个数组
Jun 06 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
Aug 12 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
PHP页面间传递参数实例代码
2008/06/05 PHP
PHP Google的translate API代码
2008/12/10 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
什么是JavaScript
2009/08/13 Javascript
关于图片按比例自适应缩放的js代码
2011/10/30 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
nodejs发送http请求时遇到404长时间未响应的解决方法
2017/12/10 NodeJs
React Native 图片查看组件的方法
2018/03/01 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
解决微信小程序调用moveToLocation失效问题【超简单】
2019/04/12 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
JS如何生成动态列表
2020/09/22 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
Python实现全角半角字符互转的方法
2016/11/28 Python
python requests 库请求带有文件参数的接口实例
2019/01/03 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
美国家用和厨房电器销售网站:Appliances Connection
2020/01/24 全球购物
什么是Assembly(程序集)
2014/09/14 面试题
大三学生入党思想汇报
2014/01/02 职场文书
七年级音乐教学反思
2014/01/26 职场文书
七一党建活动方案
2014/01/28 职场文书
2014年共青团工作总结
2014/12/10 职场文书
大明湖导游词
2015/02/03 职场文书
律师催款函范文
2015/06/24 职场文书
SQL Server查询某个字段在哪些表中存在
2022/03/03 SQL Server