假设有一个4行td的table,将table里面td顺序颠倒;下面给出两种方法实现。
方法一:将元素集合迭代到数组中
var oTab = document.getElementById('tab1'); var oTrs = oTab.tBodies[0].rows; var a = []; for (var i = 0; i < oTrs.length; i++) { a.push(oTrs[i]); } a.reverse(); var oBody = oTab.tBodies[0]; for (var i = 0; i < a.length; i++) { oBody.appendChild(a[i]); }
方法二:通过call借用数组的slice方法
var oTab = document.getElementById('tab1'); var oRows = oTab.tBodies[0].rows; var aRows = Array.prototype.slice.call(oRows, 0); aRows.reverse(); console.log(aRows); var oBody = oTab.tBodies[0]; for (var i = 0; i < aRows.length; i++) { oBody.appendChild(aRows[i]); }
知识点:
(1)将非数组集合转换为数组
(2)appendChild为父元素添加子元素
(3)table含有多个tBody,获取第一个tBody为tBodies[0]
(4)通过call借用数组的slice方法