这个问题的答案可能非常简单,但我无法看到它。
我有一个对象数组,其信息我想在各个地方显示。我想将每个问题放入h1节,其中我有五节。但是,我想出的代码只是将数组中最后一个对象的问题插入每个部分h1,即,他们都说"问题5"。我无法弄清楚原因。如何将每个问题打印到不同的部分h1?
var questions = [
{question: "Question1", choices: ["A","B","C"], answer: 0},
//etc. x 5
];
$('section h1').each(function() {
for (var i = 0; i < questions.length; i++) {
$(this).text(questions[i].question);
}
});
答案 0 :(得分:3)
.each()
回调函数作为第一个参数传递index
。您可以使用它来确定要显示的问题,而不必遍历所有问题。
所以将代码更改为:
var questions = [
{question: "Question1", choices: ["A","B","C"], answer: 0},
//etc. x 5
];
$('section h1').each(function(index) {
$(this).text(questions[index].question);
});
编辑:添加有关如何填充选项的其他示例。
您需要循环显示每个部分,然后找到该部分中的h1
和li
来填充。
像这样:
var questions = [
{question: "Question1", choices: ["A","B","C"], answer: 0},
//etc. x 5
];
$('section').each(function(index) {
var question = questions[index], $section = $(this);
$section.find('h1').text(question.question);
$section.find('li').text(function (index) {
return question.choices[index];
});
});