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 的子集,或者是否有其他方法可以遍历给定类中的所有类?

多谢你们..

4

1 回答 1

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);
于 2012-09-06T09:14:18.790 回答