我正在尝试学习基本的HTML和Javascript,并且不确定此代码有什么问题。这可能是一个非常简单的错误,如果是的话,我很抱歉。当我尝试点击按钮时,Chrome会在控制台中说明"更正"和"不正确"没有定义,但我检查了函数的语法,我不知道出了什么问题。谢谢你的帮助:)
<!DOCTYPE html>
<html>
<head>
<title>Question 1</title>
</head>
<body>
<p>Q1: What is the height of the Eiffel Tower?</p>
<br>
<script>
function incorrect()
{
document.getElementById("feedback").innerHTML =
"incorrect!
<br>
<a href="q2.htm">Next Question</a>";
}
function correct()
{
document.getElementById("feedback").innerHTML =
"Correct!
<br>
<a href="q2.htm">Next Question</a>";
}
</script>
<button onclick="incorrect()">767m</buttton>
<br>
<button onclick="incorrect()">442m</button>
<br>
<button onclick="correct()">324m</button>
<br>
<button onclick="incorrect()">278m</button>
<p id="feedback"></p>
</body>
答案 0 :(得分:1)
你在innerHTML字符串中混淆了#34;&#34;(双引号)。试试这个:
而不是"q2.htm"
使用'q2.htm'
<script>
function incorrect()
{
document.getElementById("feedback").innerHTML =
"incorrect!<br><a href='q2.htm'>Next Question</a>";
}
function correct()
{
document.getElementById("feedback").innerHTML =
"Correct!<br><a href='q2.htm'>Next Question</a>";
}
</script>
答案 1 :(得分:0)
这有效:
<script>
function incorrect()
{
document.getElementById("feedback").innerHTML =
"incorrect!<br><a href='q2.htm'>Next Question</a>";
}
function correct()
{
document.getElementById("feedback").innerHTML =
"Correct!<br><a href='q2.htm'>Next Question</a>";
}
</script>
您必须将它们放在同一行或使用连接。
答案 2 :(得分:0)
如果您查看Chrome中的控制台日志(按F12进入可以查看日志的开发人员工具),您将看到错误消息“Unexpected token ILLEGAL”。原因是您在JavaScript字符串中有换行符,这是不允许的,因此函数定义在解析时失败。此外,您在引用的字符串中使用引号,这也是不允许的。使用单引号(')作为内引号或(在这种情况下)省略它们,例如
function incorrect()
{
document.getElementById("feedback").innerHTML =
"incorrect!<br><a href=q2.htm>Next Question</a>";
}