思想:考虑代码的简单易用及可重复;
现在举例说明,以列排序为例;
1)表格的规范:
因为排序是在同类型之间进行的,比如:字符串,数字,日期;然而,用来触发排序事件的表头和该列数据的类型可能不同,所以在生成表格的时候最好将表头和下面的内容分开...这三个是表格自身就拥有的,不是自己创造的;)这样就更直观了.当点击thead里面tr里的td后,触发排序事件,将tbody里的某列进行排序.
2)统一排序函数....)排序
对数组里数据的类型进行判断,然后根据类型,进行转换,转成可转换的类型;然后用自己写的比较函数进行比较;得到排好序的数组;
5)按已排序的数组生成新的表格;
6)创建文档碎片,将新表格绑定在碎片一...;
7)将文档碎片绑定在tbody上,从而实现了在用户看来刷新了表格的目的;
举个详细的例子:
一个2*3的表格;一列里面放的是名字,一列里面是图片;直接对图片肯定不能排序,所以要在图片的td里面自定义一个值...,因为该表格只有一个tbody,所以直接用[0]
var colRows = oTBody.rows;//获得tbody里所有的tr
var aTRs = new Array();//声明一个数组