gpt4 book ai didi

javascript - 如何按两个属性排序 - jQuery

转载 作者:行者123 更新时间:2023-11-30 07:57:00 25 4
gpt4 key购买 nike

这是 Fiddle

$(".listitems li").sort(sort_li).appendTo('.listitems');
function sort_li(a, b){
return ($(b).data('position')) < ($(a).data('position')) ? 1 : ($(b).data('position2')) > ($(a).data('position2')) ? 1 : 0;
}

如何按第一个属性 position 然后按第二个 position2 排序

我想得到的结果:

Item 24 40549
Item 24 40501
Item 24 40500
Item 3 14801
Item 3 14800
Item 1 90500
Item 0 0
Item 0 0
Item 0 0

最佳答案

你可以这样做

var sort = $('li').sort(function(a, b) {
return Number($(b).data('position')) - Number($(a).data('position')) ||
Number($(b).data('position2')) - Number($(a).data('position2'))
});

$('ul').empty().append(sort)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="listitems">
<li data-position="24" data-position2="40500">Item 24 40500</li>
<li data-position="1" data-position2="90500">Item 1 90500</li>
<li data-position="0" data-position2="0">Item 0 0</li>
<li data-position="0" data-position2="0">Item 0 0</li>
<li data-position="0" data-position2="0">Item 0 0</li>
<li data-position="3" data-position2="14800">Item 3 14800</li>
<li data-position="3" data-position2="14801">Item 3 14801</li>
<li data-position="24" data-position2="40501">Item 24 40501</li>
<li data-position="24" data-position2="40549">Item 24 40549</li>
</ul>

关于javascript - 如何按两个属性排序 - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37434331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com