膨胀的jquery xml请求

时间:2010-12-21 14:50:29

标签: jquery 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 个答案:

答案 0 :(得分:1)

您至少可以将ac选择器与decendant selector(中间的空格)合并,如下所示:

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