Voici les bases du schéma ... il y a plus que cela, mais cela donne une bonne idée de ce que je dois accomplir:Trier noeuds XML avec jQuery puis les rejoindre
<item>
<name>This is some product name to sort with dictionary sort.</name>
<price value="29.99">$29.99</price>
</item>
<item>
<name>This is some product name to sort with dictionary sort.</name>
<price value="29.99">$29.99</price>
</item>
Voici une approche down-and-dirty:
var node = null;
var path = null;
var items = jQuery("item", xml);
var itemsTmp = new Array();
var itemsSorted = [];
for (i = 0; i < items.length; i++) {
// price
itemsTmp[i] = jQuery("price", items[i]).attr("value");
}
itemsTmp.sort(function(a,b){return a-b});
for (i=0;i<itemsTmp.length;i++) {
itemsSorted[ i ] = jQuery("price[value=" + itemsTmp[ i ] + "]", items).parent();
}
Le problème est que itemsSorted est maintenant un tableau d'objets jQuery. Je dois obtenir tous mes articles noeuds retour ensemble, mais triés, de sorte que plus tard, je peux le faire.
jQuery("item", xml).each(function() {
alert(jQuery("price", this).text());
});
Awesome. La clé était que j'essayais soit de créer un nouvel élément à la volée et d'y ajouter des objets jQuery, soit d'utiliser un tableau et de comprendre comment joindre les éléments ensemble. Ce que je devais faire était de modifier le document d'objet XML original. Merci! –