2010-12-21 4 views
0

Ich fragte mich, ob jemand eine Alternative zu diesem hatte.aufgebläht jquery xml Anfragen

  $(xml).find("a").each(function(){ 
      $(this).find('b').each(function(){ 
       $(this).find('c').each(function(){ 
        $(this).find('d1').each(function(){ 
         sectionValidation.RegisterTerms.setRegisterTermsArray(this); 
        }); 
        $(this).find('d2').each(function(){ 
         sectionValidation.RegisterTerms.checkValidVariations(this, val); 
        }); 
       }); 
      }); 
     }); 

Es scheint wirklich aufgebläht und es muss immer verschachtelte XML-Daten ein eleganter Ansatz. Danke

Antwort

1

Sie zumindest Ihre a durch c Wähler mit einem decendant selector (Raum dazwischen) verbinden, wie folgt aus:

$(xml).find("a b c").each(function(){ 
    $(this).find('d1').each(function(){ 
     sectionValidation.RegisterTerms.setRegisterTermsArray(this); 
    }); 
    $(this).find('d2').each(function(){ 
     sectionValidation.RegisterTerms.checkValidVariations(this, val); 
    }); 
}); 

Für die anderen, es auf die Größe des Dokuments abhängt, wie zum wenn das schneller wäre:

var $xml = $(xml); 
xml.find("a b c d1").each(function(){ 
    sectionValidation.RegisterTerms.setRegisterTermsArray(this); 
}); 
xml.find("a b c d2").each(function(){ 
    sectionValidation.RegisterTerms.checkValidVariations(this, val); 
}); 
+0

Das ist perfekt Nick, Vielen Dank! –