通过span自定义值javascript对列表重新排序
这是我按程序创建的无序列表。我希望使用javascript根据每个span标记内的数据排序值对该列表重新排序。感谢您的帮助 谢谢 下面是我使用javascript的尝试,我确信我错过了一些东西通过span自定义值javascript对列表重新排序,javascript,jquery,html,html-lists,Javascript,Jquery,Html,Html Lists,这是我按程序创建的无序列表。我希望使用javascript根据每个span标记内的数据排序值对该列表重新排序。感谢您的帮助 谢谢 下面是我使用javascript的尝试,我确信我错过了一些东西 <ul id="CoreWebsiteTopHeader_6_list"><li><a class="navigation" href="/seller"><span class="editableLinks" data-id="32638" data-sort=
<ul id="CoreWebsiteTopHeader_6_list"><li><a class="navigation" href="/seller"><span class="editableLinks" data-id="32638" data-sort="110">Seller</span></a></li><li><a class="navigation" href="/about"><span class="editableLinks" data-id="32639" data-sort="10">About</span></a></li><li><a class="navigation" href="/faqs"><span class="editableLinks" data-id="32641" data-sort="40">FAQs</span></a></li><li><a class="navigation" href="/privatelending"><span class="editableLinks" data-id="32646" data-sort="60">Private Lending</span></a></li><li><a class="navigation" href="/problemproperty"><span class="editableLinks" data-id="32647" data-sort="70">Problem Property</span></a></li><li class="current"><a class="navigation" href="/quickoffer"><span class="editableLinks" data-id="32648" data-sort="90">Quick Offer</span></a></li><li><a class="navigation" href="/woahslowdown"><span class="editableLinks" data-id="32650" data-sort="120">Stop Foreclosure</span></a></li></ul>
你可以这样做:
<script type="text/javascript">
$(document).ready(function () {
$('li').sort(sortEm).prependTo($('ul#list'));
// Handler for .ready() called.
});
function sortEm(a, b) {
return parseInt($('span', a).getAttribute('data-sort')) < parseInt($('span', b).getAttribute('data-sort')) ? 1 : -1;
}
就在这里,只需将getAttribute替换为attr或使用前面提到的@acontell之类的数据。顺便说一句,你的条件是相反的降序设置不确定这是否是故意的,如果不是交换-1和1
var li = $("li");
li.sort(compare);
function compare(a, b) {
var a_data = $('span',a).data("sort"), b_data = $('span',b).data("sort");
return (+a_data) - (+b_data);
}
$("#CoreWebsiteTopHeader_6_list").empty();
$.each(li, function() {
$("#CoreWebsiteTopHeader_6_list").append(this);
});
你的尝试在哪里?这并不难在网上搜索。代码编写工厂$document.readyfunction{$'li'.sortsortEm.prependTo$'ullist';//Handler for.ready called.};函数sortEma,b{return parseInt$'span',a.getAttribute'data-sort'
$(function () {
$('li').sort(function(a, b){
return $('span', a).data('sort') < $('span', b).data('sort') ? -1 : 1;
}).prependTo($('ul'));
// Handler for .ready() called.
});