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 相关文章推荐
java script编程起步(第三课)
Jan 10 Javascript
use jscript with List Proxy Server Information
Jun 11 Javascript
asp.net和asp下ACCESS的参数化查询
Jun 11 Javascript
如何正确使用javascript 来进行我们的程序开发
Jun 23 Javascript
在父页面得到zTree已选中的节点的方法
Feb 12 Javascript
jQuery实现html元素拖拽
Jul 21 Javascript
jquery小火箭返回顶部代码分享
Aug 19 Javascript
jquery ztree实现树的搜索功能
Feb 25 Javascript
vue 实现类似淘宝星级评分的示例
Mar 01 Javascript
vue-lazyload使用总结(推荐)
Nov 01 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 Javascript
JS实现简单打字测试
Jun 24 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
PHP设计模式之代理模式的深入解析
2013/06/13 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
yii中widget的用法
2014/12/03 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
date.parse在IE和FF中的区别
2010/07/29 Javascript
jQuery封装的获取Url中的Get参数示例
2013/11/26 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python解决N阶台阶走法问题的方法分析
2017/12/28 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
详解Python判定IP地址合法性的三种方法
2018/03/06 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
利用python计算时间差(返回天数)
2019/09/07 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
python-地图可视化组件folium的操作
2020/12/14 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
HTML5 用动画的表现形式装载图像
2016/03/08 HTML / CSS
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
公务员学习习总书记“三严三实”思想汇报
2014/09/19 职场文书
老人节标语大全
2014/10/08 职场文书
市场总监岗位职责
2015/02/11 职场文书
2016党员入党决心书
2015/09/22 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript