gpt4 book ai didi

javascript - 如何使 jQuery 排序适用于更多字符?

转载 作者:行者123 更新时间:2023-11-29 14:39:59 25 4
gpt4 key购买 nike

我有以下脚本来使用数据属性进行排序

HTML:

<ul id="list">
<div>
<button id="sort" type="button">Sort</button>
</div>

<li class="items" data-sort="1111111111.1111145000">2</li>
<li class="items" data-sort="1111111111.1111144000">1</li>

</ul>

JS:

$( document ).ready(function() {

var $wrapper = $('#list');

$( "#sort" ).click(function() {
$wrapper.find('.items').sort(function (a, b) {
return +a.getAttribute('data-sort') - +b.getAttribute('data-sort');
})
.appendTo( $wrapper );
});

});

fiddle :https://jsfiddle.net/vnk91or8/1/

问题是,似乎可以排序的最大字符数是 21。在此示例中,一旦我从数据排序属性中删除其中一个数字,一切正常。

我的脚本有时会生成更多字符,22-25 个字符,这是我无法更改的。有没有一种方法可以使它适用于更多字符?

最佳答案

我建议您拆分数字,而不是通过这种方式进行比较:

var $wrapper = $('#list');
$("#sort").click(function() {
$wrapper.find('.items').sort(function(a, b) {
var splitA = $(a).data('sort').split('.');
var splitB = $(b).data('sort').split('.');
return splitA[0] == splitB[0] ? splitA[1] - splitB[1] : splitA[0] - splitB[0];
}).appendTo($wrapper);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="list">
<li class="items" data-sort="1111111111.1111145000">2</li>
<li class="items" data-sort="1111111111.1111144000">1</li>
</ul>
<div>
<button id="sort" type="button">Sort</button>
</div>

也在 JSFiddle

关于javascript - 如何使 jQuery 排序适用于更多字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39721023/

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