【发布时间】:2021-03-27 01:04:21
【问题描述】:
Idk 出了什么问题,我尝试将 id 添加到按钮,但也没有用,所以我只是回到使用 querySelect 中的按钮类。我也尝试使用 onclick 仍然没有响应。该按钮应该在单击时变为绿色或红色,具体取决于它是否正确。开发者工具也没有错误。
< script >
function Q1correct() {
correct.style.backgroundColor = 'green';
document.querySelector('#resultQ1').innerHTML = 'Correct!';
}
function Q1wrong() {
for (let i = 0; i < incorrects.length; i++) {
incorrects[i].style.backgroundColor = 'red';
document.querySelector('#resultQ1').innerHTML = 'Wrong :(';
}
}
function Q2() {
if (secondQ.value.toLowerCase() == "yes") {
secondQ.style.backgroundColor = 'green';
document.querySelector('#resultQ2').innerHTML = 'Correct!';
}
else {
secondQ.style.backgroundColor = 'red';
document.querySelector('#resultQ2').innerHTML = 'Wrong :(';
}
}
document.addEventListener('DOMContentLoaded', function() {
let correct = document.querySelector('.correct');
correct.addEventListener('click', correct);
let incorrects = document.querySelectorAll('.incorrect');
incorrects.addEventListener('click', Q1wrong);
let secondQ = document.querySelector('#check');
secondQ.addEventListener('click', Q2);
});
<
/script>
<body>
<div class="jumbotron">
<h1>Trivia!</h1>
</div>
<div class="container">
<div class="section">
<h2>Part 1: Multiple Choice </h2>
<hr>
<h3>What is Dwayne "The Rock" Johnson's real middle name? </h3>
<button class='incorrect'>Johnsons</button>
<button class='incorrect'>Pebble</button>
<button class='correct'>Douglas</button>
<button class='incorrect'>Teetsy</button>
<button class='incorrect'>Lewis</button>
<p id='resultQ1'></p>
</div>
<div class="section">
<h2>Part 2: Free Response</h2>
<hr>
<h3>Do you smell what The Rock is cooking?</h3>
<input type='text'>
<button id='check' class="input">Check answer</button>
<p id='resultQ2'></p>
</div>
</div>
</body>
【问题讨论】:
-
您在
"DOMContentLoaded"中有错字。注意"DOM"的大写 -
已更改。按钮仍然不响应点击。
-
为什么说“开发者工具也没有错误”?在显示已发布代码和标记的浏览器中打开控制台显示
Uncaught TypeError: incorrects.addEventListener is not a function -
问题是由错误的脚本tag syntax引起的吗?
< scrpt >和<\n/script>不是有效的 HTML 标记。
标签: javascript html button cs50