我想根據行位置將表格拆分成兩個表格。我有一種方法來查找表格的行位置。現在我的要求是將表分成兩個表,只使用JavaScript。使用javascript根據行位置將表格拆分爲兩個
0
A
回答
2
希望它能幫助:
function splitTableIntoTwoTables(table, idx) {
var rows = table.getElementsByTagName("tr"),
newtable = table.cloneNode(false),
tbody = document.createElement("tbody");
if (table.hasAttribute("id")) {
newtable.setAttribute("id", "splitted_"+table.getAttribute("id"));
}
for (var i = rows.length - 1; i > idx; i--) {
if (tbody.childNodes) {
tbody.insertBefore(rows[i].cloneNode(true), tbody.lastChild);
} else {
tbody.appendChild(rows[i].cloneNode(true));
}
table.deleteRow(i);
}
newtable.appendChild(tbody);
var p = document.createElement("p");
p.appendChild(document.createTextNode("=============>"));
if (table.nextSibling) {
table.parentNode.insertBefore(p, table.nextSibling);
} else {
table.parentNode.appendChild(p);
}
if (p.nextSibling) {
table.parentNode.insertBefore(newtable, p.nextSibling);
} else {
table.parentNode.appendChild(newtable);
}
}
1
請試試我的變種。適用於有或沒有tbodies的表格。它需要一張表格和一行索引,之後將被分割。
function split(table, index){
var temp, clone = table.cloneNode(false),
trs = table.getElementsByTagName('tr'),
tbodies = table.getElementsByTagName('tbody');
if (++index>=trs.length) return;
if (clone.id) clone.id+='-clone';
while (index>0) {
if(tbodies[0] && (temp = tbodies[0].getElementsByTagName('tr').length) <= index) {
index -= temp;
clone.appendChild(tbodies[0]);
} else {
temp|0 && (temp = tbodies[0] ? clone.appendChild(tbodies[0].cloneNode(false)) : clone);
temp.appendChild(trs[0]);
index--;
}
}
table.parentNode.insertBefore(clone, table);
};
+0
這很好,你使用getElementsByTagName(),因爲它真的很多快於querySelectorAll()! 爲什麼你把克隆放在原來的上面? I.m.h.o.像「前綴」+字符串這樣的前綴字符串總是比內存消耗更少,而不像追加字符串+ ='postfix'(參見Java中的StringBuffer)。 我也認爲有
總是很好。 Btw。您的變體至少會在MSIE 10中與TWO 進行克隆;)(我已使用包含和+0
我在上面放置了克隆,因爲它比第一行傳輸第一行更快。 – Aleko
+0
'temp | 0 &&(temp =' - 夠酷,哈哈?測試temp是否爲元素 – Aleko
相關問題
- 1. 將兩位NSInteger拆分爲兩個NSInteger
- 2. 拆分圖表分爲兩個部分,根據最小切割
- 3. 根據列的值將數據幀拆分爲兩個文件
- 4. 根據多行將數據幀拆分爲多個部分
- 5. 根據表格數據拆分表格的行
- 6. 創建兩個不同的窗格 - 拆分數據,同時將工作表拆分爲兩個窗格vba
- 7. 根據表中的值將MySQL行拆分爲多行
- 8. PHP根據值將數組拆分爲兩個數組
- 9. 根據百分比將行拆分爲多個
- 10. 將數據幀拆分爲兩個DataFrame
- 11. 將行拆分爲兩個的查詢
- 12. 將列表拆分爲兩個
- 13. 根據列中的值將SQL表拆分爲多個表
- 14. 將一個大數據表拆分爲兩個分離的數據表
- 15. 使用Javascript將字符串拆分爲兩部分
- 16. Excel VBA:根據行和條件將數據拆分爲多個工作表
- 17. 是否可以使用NHibernate將實體拆分爲兩個表格
- 18. 將表拆分成單行表與單行使用Javascript
- 19. 將數據拆分爲多個表
- 20. 根據類拆分表 - jquery
- 21. 使用jQuery和Javascript將無序列表拆分爲多個div
- 22. 如何根據條件將地圖拆分爲兩張地圖
- 23. 根據兩列將此csv/xls拆分爲單獨的文件?
- 24. 將表拆分爲兩部分並使用外鍵鏈接
- 25. 查詢根據字段將行拆分爲x行
- 26. Oracle根據列值將行拆分爲多行
- 27. 根據內存位置對兩個鏈表進行排序
- 28. 將一個對象拆分爲兩個
- 29. 如何根據其長度將一個字符串拆分爲兩個
- 30. 根據鍵模式將數組拆分爲多個部分
你的意思是一個HTML表格嗎? – pablochan
我們需要更多:顯示您已有的代碼,以及您嘗試過的內容。不要猶豫,使用[jsfiddle](http://jsfiddle.net/)。 – sp00m
http://stackoverflow.com/questions/1763479/how-to-get-the-html-for-a-dom-element-in-javascript –