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脚本复制网页上的一个表格的不错实现方法
Dec 29 Javascript
js循环改变div颜色具体方法
Jun 25 Javascript
基于javascript编写简单日历
May 02 Javascript
jQuery获取多种input值的简单实现方法
Jun 20 Javascript
微信小程序 首页制作简单实例
Apr 07 Javascript
AngularJS实现select的ng-options功能示例
Jul 12 Javascript
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 jQuery
AngularJS的$location使用方法详解
Oct 19 Javascript
element-ui 上传图片后清空图片显示的实例
Sep 04 Javascript
layer.confirm()右边按钮实现href的例子
Sep 27 Javascript
JavaScript对象访问器Getter及Setter原理解析
Dec 08 Javascript
如何理解Vue前后端数据交互与显示
May 10 Vue.js
基于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
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
php等比例缩放图片及剪切图片代码分享
2016/02/13 PHP
php输出形式实例整理
2020/05/05 PHP
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
JavaScript实现的一个计算数字步数的算法分享
2014/12/06 Javascript
使用jquery制作弹出框效果
2015/04/03 Javascript
JQuery操作textarea,input,select,checkbox方法
2015/09/02 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
继续学习javascript闭包
2015/12/03 Javascript
js轮播图代码分享
2016/07/14 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
2019/01/19 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
vue 解决异步数据更新问题
2019/10/29 Javascript
仿照Element-ui实现一个简易的$message方法
2020/09/14 Javascript
Python+Selenium实现自动化的环境搭建的步骤(图文)
2020/09/01 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
.net C#面试题
2012/08/28 面试题
团员的自我评价
2013/12/01 职场文书
怎样写离婚协议书
2014/09/10 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
党小组鉴定意见
2015/06/02 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
开业典礼致辞
2015/07/29 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server