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限制textarea每行输入字符串长度的代码
Oct 31 Javascript
js判断上传文件的类型和大小示例代码
Oct 18 Javascript
struts2+jquery组合验证注册用户是否存在
Apr 30 Javascript
jquery实现左右滑动菜单效果代码
Aug 27 Javascript
打造自己的jQuery插件入门教程
Sep 23 Javascript
BOM之navigator对象和用户代理检测
Feb 10 Javascript
微信小程序实现流程进度的图样式功能
Jan 16 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
Sep 03 Javascript
node中的session的具体使用
Sep 14 Javascript
用js简单提供增删改查接口
May 12 Javascript
分享一个vue项目“脚手架”项目的实现步骤
May 26 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
Jun 17 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
IStream与TStream之间的相互转换
2008/08/01 PHP
php获取url字符串截取路径的文件名和扩展名的函数
2010/01/22 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
PHP Undefined index报错的修复方法
2011/07/17 PHP
PHP编程实现csv文件导入mysql数据库的方法
2017/04/29 PHP
php基于自定义函数记录log日志方法
2017/07/21 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
文字不间断滚动(上下左右)实例代码
2013/04/21 Javascript
基于javascript实现句子翻牌网页版小游戏
2016/03/23 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
React 路由懒加载的几种实现方案
2018/10/23 Javascript
react同构实践之实现自己的同构模板
2019/03/13 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
vue使用video.js进行视频播放功能
2019/07/18 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
跟老齐学Python之坑爹的字符编码
2014/09/28 Python
跟老齐学Python之关于类的初步认识
2014/10/11 Python
详解python之配置日志的几种方式
2017/05/22 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
Python使用add_subplot与subplot画子图操作示例
2018/06/01 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
研修第一天随笔感言
2014/02/15 职场文书
国培远程培训感言
2014/03/08 职场文书
员工工作表扬信
2015/05/05 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js
Vue组件化(ref,props, mixin,.插件)详解
2022/05/15 Vue.js