как отсортировать данные XML в jQuery

как я могу отсортировать все 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>

спасибо.

6
задан pixeltocode 16 June 2010 в 11:23
поделиться

3 ответа

$.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'));
  });
});    
8
ответ дан 10 December 2019 в 00:33
поделиться

Что-то вроде этого должно сработать

var officers = $('officer'); // unsorted

function matchRank(a, b) {
    return (int)a.attr('rank') - (int)b.attr('rank');
};

officers.sort(matchRank); // sorted
0
ответ дан 10 December 2019 в 00:33
поделиться

В случае, если вы генерируете динамически ваш xml-файл на сервере, лучшим способом является сортировка данных на стороне сервера. Некоторая дискуссия здесь.

2
ответ дан 10 December 2019 в 00:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: