[英]Order divs by ID in Javascript
我有很多div,我希望根据其ID从最低到最高进行排序。 但是,ID是十进制数,最高为5DP。
他们看起来像这样:
<div id="main">
<div id="1.6125">...</div>
<div id="1.585">...</div>
<div id="1.60125">...</div>
<div id="1.59125">...</div>
<div id="1.62625">...</div>
</div>
我已经看到了这个问题: 如何在javascript中按ID排序div? 但是,当我将Askers示例更改为十进制数字时,它不会为我排序div。
任何帮助将不胜感激,jQuery或JS都适合我。
非常感谢,
G
选择.children
的的#main
格,然后sort()
他们通过提取id
分别单独和比较差,然后附加他们#main
这样他们会为了在DOM。 在-
在sort
功能将自动串投id
s到数字:
const main = document.querySelector('#main'); const divs = [...main.children]; divs.sort((a, b) => a.id - b.id); divs.forEach(div => main.appendChild(div));
<div id="main"> <div id="1.6125">1.6125</div> <div id="1.585">1.585</div> <div id="1.60125">1.60125</div> <div id="1.59125">1.59125</div> <div id="1.62625">1.62625</div> </div>
问题是其他帖子如何比较ID。
尝试这个:
var main = document.getElementById( 'main' );
[].map.call( main.children, Object ).sort( function ( a, b ) {
return +a.id - +b.id;
}).forEach( function ( elem ) {
main.appendChild( elem );
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.