首页 > 解决方案 > 按 Javascript 对数字顺序进行排序

问题描述

我有以下 HTML 项目类元素来按数字降序排序。

<div id="main">
<div class="item" data-order="2">
<div class="stamp">13/10/2018 11:45 am EDT</div>
</div>
<div class="item" data-order="3">
<div class="stamp">13/10/2018 10:45 am EDT</div>
</div>
<div class="item" data-order="1">
<div class="stamp">12/10/2018 8:45 pm EDT</div>
</div>
<div class="item" data-order="0">
<div class="stamp">13/10/2018 10:43 am EDT</div>
</div>

由于某些原因,以下代码对我不起作用。我在排序时缺少什么?

  var d = $('#main').sort(function (a, b) { 
  return $(a).find(".item").attr("data-order") < $(b).find(".item").attr("data-order"); 
  });

  console.log(d[0]);

标签: javascript

解决方案


这样做:

<script type="text/javascript">
var items = document.querySelectorAll('.item');
var itemPos = [];

for(var i in items){

    if(items.length > i){

        itemPos.push(items[i].getAttribute('data-order'));

    }

}

itemPos = itemPos.sort(function(a, b){return b - a});

<script>

推荐阅读