總體思路是在table外部加個div,修改div的innerHtml實現(xiàn)改變tr順序的效果
創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計與策劃設(shè)計,懷來網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:懷來等地區(qū)。懷來做網(wǎng)站價格咨詢:18980820575
具體思路是
獲取當(dāng)前要移動tr行的rowIndex,在table中刪除掉,然后循環(huán)table的rows,到了目標(biāo)行再直接加進去,最后把整體的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 + "
");
}
//向下可能到表格現(xiàn)有行數(shù)外 額外處理
if (tab.rows.length == (nowNowIndex + 1)) {
newHtml += ("" + nowNodeInnerHtml + "
");
}
newHtml += "
";
document.getElementById("divContent").innerHTML = newHtml;
}
}
測試html代碼如下
總結(jié)
以上所述是小編給大家介紹的js操作table中tr的順序?qū)崿F(xiàn)上移下移一行的效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
文章標(biāo)題:js操作table中tr的順序?qū)崿F(xiàn)上移下移一行的效果
文章來源:
http://weahome.cn/article/jdohhs.html