在HTML页面中显示Javascript对象的问题
我正在尝试使用Javascript创建一个问答游戏。我遇到的问题是,问题和答案的Js对象没有显示在我的HTML页面中。我的主要问题在于showQuestions函数。任何帮助都将不胜感激。非常感谢 请在下面找到我的代码在HTML页面中显示Javascript对象的问题,javascript,html,object,display,Javascript,Html,Object,Display,我正在尝试使用Javascript创建一个问答游戏。我遇到的问题是,问题和答案的Js对象没有显示在我的HTML页面中。我的主要问题在于showQuestions函数。任何帮助都将不胜感激。非常感谢 请在下面找到我的代码 const startButton=document.getElementById(“开始”); const timerEl=document.getElementById(“计时器”); const questionEl=document.getElementById(“问题
const startButton=document.getElementById(“开始”);
const timerEl=document.getElementById(“计时器”);
const questionEl=document.getElementById(“问题”);
const ul=document.getElementById(“答案”);
const resultEl=document.getElementById(“结果”);
设currentQuestionIndex=0;
设秒=60;
让间隔;
常量问题=[{
问题:“1GB中有多少MB?”,
答复:[{
回答:“1000”,
I正确:错误
},
{
答复:“100”,
I正确:错误
},
{
回答:“10000”,
正确:正确
}
],
},
{
问题:“什么是C#?”,
答复:[{
答:“程序性语言”,
I正确:错误
},
{
答:“一种面向对象的语言”,
正确:正确
},
{
答:“函数式编程语言”,
I正确:错误
}
],
},
{
问题:“包含相同数据类型的一组内存位置称为什么?”,
答复:[{
回答:“一个循环”,
I正确:错误
},
{
答:“数据结构”,
I正确:错误
},
{
答:“阵列”,
正确:正确
}
],
},
{
问:“C++中,你必须用哪个关键字来在屏幕上显示和显示?”
答复:[{
回答:“printf”,
正确:正确
},
{
回答:“打印输出”,
I正确:错误
},
{
回答:“msgout”,
I正确:错误
}
],
},
{
问题:“您在C#中使用哪个关键字来声明变量?”,
答复:[{
答:"让",,
I正确:错误
},
{
回答:“昏暗”,
正确:正确
},
{
回答:“var”,
I正确:错误
}
],
},
];
函数startTimer(){
timerEl.textContent=秒;
间隔=设置间隔(函数(){
秒--;
timerEl.textContent=秒;
如果(秒===0){
间隔时间;
}
//renderTime每秒在此处调用一次
}, 1000);
}
函数onButtonClick(){
const value=this.getAttribute(“值”);
如果(值=“真”){
resultEl.textContent=“正确”;
}否则{
resultEl.textContent=“不正确”;
}
currentQuestionIndex++;
if(currentQuestionIndex==questions.length){
questionEl.textContent=“完成”;
}否则{
显示问题(问题[currentQuestionIndex]);
}
}
函数显示问题(问题){
questionEl.textContent=question.question;
//循环浏览每个问题和答案
问题.答案.forEach((当前答案)=>{
const li=document.createElement(“li”);
const button=document.createElement(“按钮”);
setAttribute(“值”,currentAnswer.isCorrect);
button.textContent=currentAnswer.answer;
按钮。addEventListener(“单击”,在按钮上单击);
li.appendChild(按钮);
ul.儿童(li);
})
}
函数startgamequick(){
startTimer();
显示问题(问题[currentQuestionIndex]);
}
addEventListener(“单击”,StartGameQuike)代码>
010101
时间:0
计算机科学测验
欢迎来到计算机科学问答环节
开始测验
只要页面中没有具有上述id的元素,就不能引用它们。
例如,Question1常量始终为空,因为页面中没有具有此id的元素。您的HTML标记应如下所示:
<div id="quiz"></div>
<button id="start">Start quiz</button>
<div id="question"></div>
<ul id="answers"></ul>
<div id="result"></div>
开始测验
缺少的标签是问答,它在js端给出了一个错误,因此它会阻止您的问题被显示,但这不是代码中唯一的错误,我尝试过,一旦用户回答问题,您必须清除列表
请查看附件中的屏幕截图
祝你好运
1024MB的GB。@Vbudo它可以是。千、兆和千兆通常是SI,即1000。Kibi、Mebi和Gibi可用于二进制1024。这一切都有点混乱。当代码被执行时,您的html可能还没有准备好,所以您的引用是空的。将您的初始化代码添加到onload事件。谢谢您的输入。我将在onload事件中添加init。感谢Adrian的快速回复。我要去。返回并查看我的元素,确保它们与我的javascript文件正确链接。非常感谢。塔哈非常感谢您的反馈。它确实有效。我现在将在每个问题后清理列表。欢迎,因此请将此答案标记为已接受,祝您好运(y),如果您需要帮助,我仍然可以使用
<div id="quiz"></div>
<button id="start">Start quiz</button>
<div id="question"></div>
<ul id="answers"></ul>
<div id="result"></div>