как я могу отсортировать все 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>
спасибо.
$.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'));
});
});
Что-то вроде этого должно сработать
var officers = $('officer'); // unsorted
function matchRank(a, b) {
return (int)a.attr('rank') - (int)b.attr('rank');
};
officers.sort(matchRank); // sorted
В случае, если вы генерируете динамически ваш xml-файл на сервере, лучшим способом является сортировка данных на стороне сервера. Некоторая дискуссия здесь.