在Javascript中单击标题时按升序和降序对表进行排序
在Javascript中单击标题时按升序和降序对表进行排序,javascript,sorting,Javascript,Sorting,window.addEventListener'DOMContentLoaded',=>{
设dir=dsc;
th=document.getElementsByTagName'th';
forlet c=0;c{th.innerHTML=;
th.addEventListener'click',sortall};
}
//访问主表每行中的可排序值:查找每行中的第二行
//子表,读取第二个单元格,并通过强制减法将其转换为数字:-0
函数getValrw{
返回rw.querySelector't
window.addEventListener'DOMContentLoaded',=>{
设dir=dsc;
th=document.getElementsByTagName'th';
forlet c=0;c你在我们的html中有一些错误,我已经纠正了。之后,可以使用标准的Array.sort函数大大简化JavaScript。不过,首先需要应用Array.prototype.slice.call方法,将从element.querySelectorAll获得的集合转换为数组
window.addEventListener'DOMContentLoaded',=>{
Array.fromdocument.getElementsByTagName'th',
th=>{th.innerHTML=;
th.addEventListener'click',sortall};
}
//访问主表每行中的可排序值:查找每行中的第二行
//子表,读取第二个单元格,并通过强制减法将其转换为数字:-0
函数getValrw{
返回rw.querySelector'table'。行[1]。单元格[1]。文本内容。替换“%”,-0;
}
var dir=1;//排序方向值:1或-1
var table=document.querySelector.results_table;//获取表元素
功能索塔尔{
让rows=Array.fromtable.rows;//将rows集合获取为数组
rows.sorta,b=>dir*getVala getValb//对行数组排序
rows.forEachr=>table.appendChildr//将行放回主表
dir=-dir//在每次调用后切换排序方向
返回错误
}
THA{文本装饰:无}
电子邮件
住址
个人身份
总理论百分比
实习医生总数百分比
68%
88%
电子邮件
住址
个人身份
总理论百分比
实习医生总数百分比
58%
88%
电子邮件
住址
个人身份
总理论百分比
实习医生总数百分比
13%
88%
电子邮件
住址
个人身份
总理论百分比
实习医生总数百分比
43%
88%
请单击[]代码段编辑器,并提供一个包含重新创建步骤和预期输出的html代码的示例。我还没有添加完整的表,但这是表的基本结构。使用datatable plugin simple。要求是使用Vanilla Javascript。我不能使用jquery
或者任何插件。是的,每次都不发明轮子是有原因的。@Laxman:我实际上已经在两个地方使用了你的Array.from方法!感谢您指出这一点-然而,我们需要记住,这个页面将只适用于现代浏览器。。。