如何在我的ajax“each”循环之前按“company”按字母顺序对XML进行排序

时间:2014-02-07 15:53:43

标签: jquery ajax xml

首先,感谢所有能给予一些有用答案的人。

我正在努力让这个XML按照字母顺序排列"公司"在我的每个循环之前。

这是JQuery:

$(document).ready(function () {
 var html = '<table id="partners" cellpadding="0" cellspacing="0">';
 var html = html + '<tr>';

$.ajax({
    type: "GET",
    url: "WellCityPartners.xml",
    dataType: "xml",
    success: function( xmldata ) {

    $(xmldata).find("Partners").each(function (index) {
html = html + '<td style=" background-image:url('  +  $(this).find("backgroundURL").text() +       '); height:100px; width:234px" align="center">'+  '<a href="' + $(this).find("hrefURL").text() + '" target="_blank">'  + '<img src="' + $(this).find("imgURL").text() + '">' + '</a>' +  '</td>' ;

 if ( (index + 1) % 3 === 0 )
 {
     html = html + '</tr>';
 }

 });
 html = html + '</table>';
 /*$( "body" ).append( $( html ) );*/
 document.getElementById("partnerTable").innerHTML = html;
}
   });
});

以下是XML的一部分:

<allpartners>
  <Partners>
    <ID>3</ID>
    <backgroundURL>images/BackgroundY.png</backgroundURL>
    <hrefURL>http://www.andis.com/</hrefURL>
    <imgURL>images/p01a.png</imgURL>
    <company>TEST</company>
  </Partners>
  <Partners>
    <ID>4</ID>
    <backgroundURL>images/BackgroundY.png</backgroundURL>
    <hrefURL>http://www.aurorahealthcare.org/</hrefURL>
    <imgURL>images/p24a.png</imgURL>
    <company>Aurora Healthcare</company>
  </Partners>
  <Partners>
    <ID>5</ID>
    <backgroundURL>images/Backgroundw.png</backgroundURL>
    <hrefURL>http://www.careersindustries.com/</hrefURL>
    <imgURL>images/p50a.png</imgURL>
    <company>My Industries</company>
  </Partners>
<allpartners>

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在阵列上使用JQuery sort方法。这样的事,也许......?

    var nodes = $(xmldata).find("Partners");
    nodes = nodes.sort(myFuncToCheckCompanyName);

然后你可以做你的每个()块。