Раздутые запросы jquery xml

Мне было интересно, если у кого-нибудь была альтернатива этому.

          $(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);
                    });
               });
           });
       });

Это кажется раздутым, и должен быть более элегантный подход к получению вложенных XML-данных. Спасибо

1 ответ

Решение

Вы можете хотя бы объединить свои a через c селектор с потомком селектор (пробел между ними), например так:

$(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);
  });
});

С другой стороны, от размера документа зависит, будет ли это быстрее:

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);
});
Другие вопросы по тегам