Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在HTML页面中显示Javascript对象的问题_Javascript_Html_Object_Display - Fatal编程技术网

在HTML页面中显示Javascript对象的问题

在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(“问题

我正在尝试使用Javascript创建一个问答游戏。我遇到的问题是,问题和答案的Js对象没有显示在我的HTML页面中。我的主要问题在于showQuestions函数。任何帮助都将不胜感激。非常感谢

请在下面找到我的代码

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>