JAVA如何选中一行上移_js操作table中tr的顺序实现上移下移一行的效果

总体思路是在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

总结

以上所述是小编给大家介绍的js操作table中tr的顺序实现上移下移一行的效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值