如何根据officers
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"></student>
<officer rank="1"></student>
</grade>
感谢。
答案 0 :(得分:8)
$.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'));
});
});
答案 1 :(得分:2)
如果您在服务器上动态生成xml文件,最好的方法是在服务器端对数据进行排序。 一些讨论是here。
答案 2 :(得分:0)
这样的事情应该有效
var officers = $('officer'); // unsorted
function matchRank(a, b) {
return (int)a.attr('rank') - (int)b.attr('rank');
};
officers.sort(matchRank); // sorted