how to sort xml data in jQuery
how can i sort all officers
based on their ranks
jQuery
$.get('officers.xml', function(grade){
$(grade).find('officer').each(function(){
var $rank = $(this).attr('rank');
});
});
XML (officer.xml)
<grade>
<officer rank="2"></student>
<officer rank="3">开发者_JS百科;</student>
<officer rank="1"></student>
</grade>
thanks.
$.get('officers.xml', function(grade){
var officer = $(grade).find('officer');
officer.sort(function(a, b){
return (parseInt($(a).attr('rank')) - parseInt($(b).attr('rank')));
});
officer.each(function(i,v){
alert($(v).attr('rank'));
});
});
In case you generate dynamically your xml file on the server the best way is to sort data on the server side. Some discussion is here.
Something like this should work
var officers = $('officer'); // unsorted
function matchRank(a, b) {
return (int)a.attr('rank') - (int)b.attr('rank');
};
officers.sort(matchRank); // sorted
精彩评论