看了精华区的文章,不太懂。请教表格排序问题?

zgmboy 2003-07-28 08:14:20
function orderTB2(objTB,index){
var ar=[];
var rows = objTB.rows
for (var i=1;i<rows.length;i++) ar[i-1]=[rows[i].cells[index].innerText,rows[i].cloneNode(true)];
ar.sort(function(a,b){return b[0]-a[0]});
for (var i=rows.length-1;i>0;i--) objTB.deleteRow(i);
for (var i=0;i<ar.length;i++)
objTB.firstChild.insertBefore(ar[i][1]);
}
上面这几句代码,谁能逐一解释一下?
谢谢。
...全文
70 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
whywzf 2003-08-24
  • 打赏
  • 举报
回复
function orderTB2(objTB,index){
var ar=[]; //定义一个数组
var rows = objTB.rows; //取某个table的rows object
for(i=1;i<rows.length;i++) //第二行起的循环
ar[i-1]=[rows[i].cells[index].innerText,rows[i].cloneNode(true)];
//index为列序号,将table的某一列的值赋给ar[i-1][0],将按照这一列来排序(排序的行从第二行开始,可能第一行是头),设置node,把当前行复制给ar[i-1][1]
ar.sort(function(a,b){return b[0]-a[0]}); //将数组排序,返回(从大到小排,从小到大则是:return a[0]-b[0])
for (var i=rows.length-1;i>0;i--) objTB.deleteRow(i);//删除table除第一行的所有行
for (var i=0;i<ar.length;i++) //循环取数组元素
objTB.firstChild.insertBefore(ar[i][1]);//将排序好的行重新插入table第一行之后
}
zgmboy 2003-08-24
  • 打赏
  • 举报
回复
怎么还没人回答?
zgmboy 2003-08-05
  • 打赏
  • 举报
回复
up
bxxxr 2003-07-29
  • 打赏
  • 举报
回复
多帖点

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧