这是我放入数组进行排序的html代码。我试图让数字从最低到最高(在ID中)排序。但是我的所有代码似乎都在保持当前顺序的同时自上而下地进行了操作。环顾四周并尝试了几种不同的方法后,到目前为止,我还没有找到解决方案。有什么建议?
<a href="#" class="link-sort-list asc">A-Z</a> <a href="#" class="link-sort-list desc">Z-A</a>
<ul id="sortable">
<li id="220" class="p_box"></li>
<li id="221" class="p_box"></li>
<li id="217" class="p_box"></li>
<li id="215" class="p_box"></li>
<li id="219" class="p_box"></li>
<li id="216" class="p_box"></li>
<li id="218" class="p_box"></li>
<li id="214" class="p_box"></li>
<li id="208" class="p_box"></li>
<li id="206" class="p_box"></li>
</ul>
这是我的javascript排序功能。问题可能在这里,但我不确定。
var $list = $('#sortable');
var $myId = [];
var $myId = $(".p_box");
//Sort Click Buttons
$('.link-sort-list').click(function(e) {
if ($(this).hasClass('asc')){
$list.empty().append($myId.sort(function(a,b){return a < b}));
} else {
$list.empty().append($myId.sort());
}
e.preventDefault();
});
您必须按ID排序,反之则要颠倒条件
var $list = $('#sortable');
$('.link-sort-list').click(function(e) {
e.preventDefault();
if ($(this).hasClass('asc')) {
$list.find('li').sort(function(a, b) {
return a.id - b.id;
}).appendTo($list);
} else {
$list.find('li').sort(function(a, b) {
return b.id - a.id;
}).appendTo($list);
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句