jquery xml select

Comment sélectionner les éléments dont le texte de la clé de sous-balise commence par ‘001’?

  001001 thanks   001002 very   002001 much   $(xml).find("item>[filter ssortingng]").each(function() { alert(this); }); 

Vous avez besoin de .filter() dans ce cas:

 $(xml).find("item").filter(function() { return $(this).find("key").text().indexOf('001') === 0; }).each(function() { alert(this); }); 

Ceci filtre les éléments en fonction de ceux ayant un élément clé dont le texte commence par 001 . Cependant, si vous pouviez modifier le schéma, ce serait beaucoup plus rapide … la recherche du filtre dans les enfants est globalement un peu coûteuse si vous utilisez beaucoup d’éléments.

La suggestion de commentaire de Jake est judicieuse si c’est une option, si un élément avait des atsortingbuts au lieu d’éléments internes, vous pourriez le faire beaucoup plus simplement avec l’ atsortingbut begin-with selector , comme ceci:

 $(xml).find("item[key^=001]").each(function() { alert(this); });