博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js操作table中tr的顺序,实现上移下移一行的效果
阅读量:6081 次
发布时间:2019-06-20

本文共 2968 字,大约阅读时间需要 9 分钟。

总体思路是在table外部加个div,修改div的innerHtml实现改变tr顺序的效果

具体思路是

获取当前要移动tr行的rowIndex,在table中删除掉,然后循环table的rows,到了目标行再直接加进去,最后把整体的html赋值给div完成效果

js代码如下

//使行向上一行        function setRowUp(obj) {            if (obj.parentNode.parentNode.rowIndex != 1) {                var tab = obj.parentNode.parentNode.parentNode;                var nowNodeInnerHtml = obj.parentNode.parentNode.innerHTML;                var nowNowIndex = obj.parentNode.parentNode.rowIndex;                tab.deleteRow(nowNowIndex);                var newHtml = "
"; newHtml += ("
" + tab.rows[0].innerHTML + "
"); for (i = 1; i < tab.rows.length; i++) { if (i == (nowNowIndex - 1)) { newHtml += ("
" + nowNodeInnerHtml + "
"); } newHtml += ("
" + tab.rows[i].innerHTML + "
"); } newHtml += "
"; document.getElementById("divContent").innerHTML = newHtml; } } //使行向下一行 function setRowDown(obj) { if (obj.parentNode.parentNode.rowIndex != (document.getElementById("divContent").childNodes[0].rows.length - 1)) { var tab = obj.parentNode.parentNode.parentNode; var nowNodeInnerHtml = obj.parentNode.parentNode.innerHTML; var nowNowIndex = obj.parentNode.parentNode.rowIndex; tab.deleteRow(nowNowIndex); var newHtml = "
"; newHtml += ("
" + tab.rows[0].innerHTML + "
"); for (i = 1; i < tab.rows.length; i++) { if (i == (nowNowIndex + 1)) { newHtml += ("
" + nowNodeInnerHtml + "
"); } newHtml += ("
" + tab.rows[i].innerHTML + "
"); } //向下可能到表格现有行数外 额外处理 if (tab.rows.length == (nowNowIndex + 1)) { newHtml += ("
" + nowNodeInnerHtml + "
"); } newHtml += "
"; document.getElementById("divContent").innerHTML = newHtml; } }

测试html代码如下

    
工号 姓名
0001 姓名01
0002 姓名02
0003 姓名03
0004 姓名04
0005 姓名05

 

转载于:https://www.cnblogs.com/leiyongbo/p/9996674.html

你可能感兴趣的文章
开发规范浅谈
查看>>
Spark Streaming揭秘 Day29 深入理解Spark2.x中的Structured Streaming
查看>>
鼠标增强软件StrokeIt使用方法
查看>>
本地连接linux虚拟机的方法
查看>>
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
NLog文章系列——如何优化日志性能
查看>>
Hadoop安装测试简单记录
查看>>
CentOS6.4关闭触控板
查看>>
ThreadPoolExecutor线程池运行机制分析-线程复用原理
查看>>
React Native 极光推送填坑(ios)
查看>>
Terratest:一个用于自动化基础设施测试的开源Go库
查看>>
修改Windows远程终端默认端口,让服务器更安全
查看>>
扩展器必须,SAS 2.0未必(SAS挺进中端存储系统之三)
查看>>
Eclipse遇到Initializing Java Tooling解决办法
查看>>
while((ch = getchar()) != '\n')
查看>>
好程序员web前端分享JS检查浏览器类型和版本
查看>>
Oracle DG 逻辑Standby数据同步性能优化
查看>>
exchange 2010 队列删除
查看>>