<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的子集,还是有其他方法来迭代给定类中的所有类?
谢谢你们..
答案 0 :(得分: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);