[英]HTML table sort in Javascript with Array works but why?
在此代码中:
let container = document.getElementById('variables'); Array.from(container.querySelectorAll('tr')) .sort((a, b) => a.getAttribute("name").localeCompare(b.getAttribute("name"), )) .forEach(tr => container.appendChild(tr));
<table id="variables"> <tr name=B> <td>B</td> </tr> <tr name=A> <td>A</td> </tr> <tr name=C> <td>C</td> </tr> </table>
我创建一个未排序的HTML表,并使用JavaScript对其进行排序。
我的作品,但我不明白为什么我不得到原始数组跟在后面的排序一,因为forEach
做appendChild
到原始表
该代码背后的魔力是什么?
foo.appendChild(bar)
将bar
放在foo
的末尾。
由于一个元素不能同时存在于两个位置,因此,如果它已经是另一个元素的子元素,则首先将其从那里删除。
即它与foo.appendChild(bar.cloneNode(true))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.