【发布时间】:2023-02-01 03:34:31
【问题描述】:
我有一小段代码可以按数字对 div 进行排序/提升。但是我想添加其他条件来排序。现在,它只是根据积分班级。但我希望它也适用条件次并结合积分。
一般来说,这些 div 排序从大数到小数。如果人数相等,则显示时间较少的人。如果数量相等,它将搜索以查看哪个次是最低的。它会首先显示它。
$(function(){
var sortedList = $('.contest_entry').toArray().sort(function(lhs, rhs){
return parseInt($(rhs).children("span.points").text(),10) - parseInt($(lhs).children("span.points").text(),10);
});
$("#list").html(sortedList);
});
.contest_entry
{
padding:10px;
background: #eee;
margin:10px 0px;
}
.points
{
display:block;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<div id="list">
<div class="contest_entry">
<span class="points">14</span>
<span class="times"> 12:39 </span>
</div>
<div class="contest_entry">
<span class="points">16</span>
<span class="times"> 09:55 </span>
</div>
<div class="contest_entry">
<span class="points">19</span>
<span class="times"> 17:19 </span>
</div>
<div class="contest_entry">
<span class="points">19</span>
<span class="times"> 17:34 </span>
</div>
<div class="contest_entry">
<span class="points">19</span>
<span class="times"> 17:20 </span>
</div>
</div>
总之,我想添加多个条件来过滤或排序 div。
【问题讨论】:
-
您可以在排序函数中执行任何您想要的比较逻辑。你有什么问题?
-
我更新了您的 javascript 函数,如果对您有帮助,请将问题标记为已解决
-
@freedomn-m 在我的编辑中:我格式化了代码在我的回答中我发布了更新的 javascript 函数,对不起,但我不明白你在说什么
标签: javascript html jquery sorting