我想知道是否有人可以替代这个。
$(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数据。谢谢
答案 0 :(得分:1)
您至少可以将a
到c
选择器与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);
});