繁体   English   中英

在Javascript中按ID排序div

[英]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 );
});

预览: http//jsfiddle.net/x7gesv68/4/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM