2012-09-06 28 views
1
<div class="contain_questions"> 
    <div class="question"> 
     <div class="question_text">First question</div> 
     <div class="question_mandatory">1</div> 

     <div class="options"> 
      <div class="option"><div class="option_name">a</div><div class="option_value">1</div></div> 
      <div class="option"><div class="option_name">b</div><div class="option_value">2</div></div> 
      <div class="option"><div class="option_name">c</div><div class="option_value">3</div></div> 
     </div> 

     <a href="" class="add_another_option">add_another_option</a> 
    </div> 

    . 
    . // many more div.question ... 
    . 

    <input type="button" value="submit_questions" /> 
</div> 

对于每个问题,如何针对外部.each()中的每个div.option使用.each()? 我有外部的.each()工作正常,它遍历所有div.question并将question_text等推入数组,但我似乎不能在每个问题中的目标选项容器,以便也推动所有的选项每个问题放入数组中。迭代给定类中的所有类

另外,是否有可能使用.each()函数来定位DOM的子集,或者是否有其他方法来迭代给定类中的所有类?

谢谢你们..

回答

1

就这么简单:

$(".question").each(function() { 
    ... 
    $(this).find(".option").each(function() { 
     ... 
    }); 
}); 

所以你的代码可能如下所示:

var questions = []; 
$(".question").each(function() { 
    var obj = { 
     name : $(this).find(".question_text").text(), 
     options : [] 
    }; 

    $(this).find(".option").each(function() { 
     obj.options.push({ 
      name : $(this).find(".option_name").text(), 
      value : $(this).find(".option_value").text() 
     }); 
    }); 

    questions.push(obj); 
}); 

console.log(questions); 
+0

尼斯的工作伙伴:d –

+0

@ DJDonaL3000你”欢迎光临! :) – VisioN