javascript - 单击不同的按钮时,javascript的功能不会重新运行
问题描述
如果按下不同的按钮,我试图让<h4>
标签更新,但它不会改变。我希望每次单击按钮时都重新运行这两个功能。
function submit(clicked_id) {
var answer = document.getElementById(clicked_id).innerHTML;
answercheck()
}
function answercheck() {
if (answer != "George Washington") {
document.getElementById("answer").innerHTML = "You are incorrect.";
} else {
document.getElementById("answer").innerHTML = "You are correct!";
}
}
<h1>Quiz</h1>
<h3>Who is the first president of the United States?</h3>
<button onclick="submit(this.id);" id="ans1">Benjamin Franklin</button>
<button onclick="submit(this.id);" id="ans2">George Washington</button>
<button onclick="submit(this.id);" id="ans3">Thomas Edison</button>
<h4 id="answer"></h4>
解决方案
你的范围answer
是错误的。它绑定到您的提交功能。在它之外声明它,以便两个函数都可以访问它:
var answer;
function submit(clicked_id) {
answer = document.getElementById(clicked_id).innerHTML;
answercheck()
}
function answercheck() {
if (answer != "George Washington") {
document.getElementById("answer").innerHTML = "You are incorrect.";
} else {
document.getElementById("answer").innerHTML = "You are correct!";
}
}
<h1>Quiz</h1>
<h3>Who is the first president of the United States?</h3>
<button onclick="submit(this.id);" id="ans1">Benjamin Franklin</button>
<button onclick="submit(this.id);" id="ans2">George Washington</button>
<button onclick="submit(this.id);" id="ans3">Thomas Edison</button>
<h4 id="answer"></h4>
推荐阅读
- java - WebMvcLinkBuilder 无法处理 alwaysUseFullPath=true
- python - 将值设置到另一个列表(a)中的列表(b)中的一个位置,将该值设置在列表(a)中的所有列表中的相同位置
- python - 连接数据框中的所有列
- python - 当 pytest.ini 位于测试子目录而不是项目根目录中时,未注册 pytest.ini 中的 pytest 配置
- python - 如何从 Django 发送电子邮件
- netlogo - 在 netlogo 中处理 patch-here 时正确的语法是什么?
- batch-file - 批处理 - 将程序输出重定向到当前控制台
- c# - 我正在尝试将查询从 sqlite 数据库输出到列表,但我没有得到正确的结果
- node.js - 建立关系时出现猫鼬验证错误
- python - Python datetime 到日期和时间