我已经制作了一个测验创建器,但现在我正试图将其中的信息提取到“前端”测验中。
我正在尝试构建一个这样的for循环。这里还试图将类“.hide”添加到除第一个创建的div之外的所有带有类“.Query-holder”的div中。
for(var i = 0; i < questions.length; i++)
{
var q = questions[i];
var answers = q.getAnswers();
$(".question-holder").append("<h2 id='QuizQuestionHeadline'>" + q.getQuestion() + "</h2><div class='question-wrap'></div>");
$(".question-wrap").append("<ul class='answers' id='quiz-answers'></ul>");
for(var n = 0; n < answers.length; n++)
{
$("#quiz-answers").append("<li><input tabindex='1' type='checkbox' id='input-1'><label for='input-1'><span>"+ answers[n].getAnswer() +"</span></label></li>");
};
};
for(var i = 2; i < questions.length; i++)
{
$(".question-holder").addClass('hide');
}; 其中由上述代码创建的最终HTML应为:
<div class="question-holder">
<h2 id='QuizQuestionHeadline'>The Question</h2>
<ul id='quiz-answers' class="answers">
<li>
<input tabindex="1" type="radio" id="input-1" name="quiz-radio">
<label for="input-1"><span>Answer 1</span></label>
</li>
<li>
<input tabindex="2" type="radio" id="input-2" name="quiz-radio" checked>
<label for="input-2"><span>Answer 2</span></label>
</li>
</ul>
</div>这里有谁能帮我一点忙吗?:)
发布于 2013-05-01 22:36:26
您最好还是隐藏所有相关的div,但然后只显示您想要的任何一个...
var index = 0; // 0 based, so 0 is the first question
$(".question-holder").addClass("hide");
$(".question-holder").eq(index).removeClass("hide");您只需要更新index变量并再次运行该代码,以显示特定的问题:)
发布于 2013-05-01 22:26:11
请注意,$(".question-holder").addClass('hide');将隐藏具有类question-holder的所有div。所以for循环在这里没有任何意义。
for(var i = 2; i < questions.length; i++) {
$(".question-holder").addClass('hide');
}; 您可以为每个div使用不同的id,然后将此addClasshide用于除第一个div之外的所有div。
另一个简单的解决方案是:
首先隐藏所有div,然后显示第一行代码,如下所示。
$(".question-holder").css('display', 'none');
$(".question-holder:first").css('display', 'block');https://stackoverflow.com/questions/16319920
复制相似问题