本文所實現的表格排序大致可以分為以下幾個步驟:
1、取得所有要排序的行,將其引用push到一個數組中
2、根據要排序的行的情況編寫數組排序時所使用的編寫的比較函數
3、對包含所有行引用的陣列進行排序
4、將排序後的陣列依照指定的順序將陣列所引用的行重新寫回DOM
如果您對使用DOM操作表格還不太熟悉,您可以參考一下《使用DOM編寫瀏覽器兼容的Table操作》,如果您對數組的排序還不太熟悉,可以參考一下《數組排序以及在漢字排序中localeCompare()方法的使用》,因為使用DOM操作表格和陣列排序是表格排序的基礎。
先看一下我們範例用的程式碼,本文會依照上述的步驟一步一步的分析:
1 var asc = true; 要排序的行引用的容器
3 function sortTable(){
4 //取得所有要排序中的行程
5 6 var oTBody = oTable.tBodies[0];
7 var allTr = oTBodyody.rows var allTr = oTBodyody. ;
8 //將要排序的行放入陣列以排序
9 arrayTr.push(allTr[i]);
11 }12 /若為升序
13 if(asc){
14 oTable.rows[0].title = "點選降序排列表格";
16 18 //如果是降序
19 arrayTr.reverse();
20 oTable.rows[0].title = "點擊升序排列表格";
21 asc = true;
22 }
23 //將排過續的行依數序重寫回DOM
24 var oFragment = document.createDocumentFragment();
25 oFragment.appendChild(arrayTr[j]);
27 }
28 oTBody.appendChild(oFragment) 程式的5--11行實現了我們所說的第一步,這裡有兩個需要說明的地方,一是我們在HTML中使用了和
以上就是JavaScript學習筆記(4)表格排序的內容,更多相關內容請關注PHP中文網(m.sbmmt.com)!