如何在jQuery中对xml数据进行排序

时间:2010-06-16 11:23:10

标签: jquery xml sorting

如何根据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>

感谢。

3 个答案:

答案 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