Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中单击标题时按升序和降序对表进行排序_Javascript_Sorting - Fatal编程技术网

在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方法!感谢您指出这一点-然而,我们需要记住,这个页面将只适用于现代浏览器。。。