我想改变按钮的颜色,因为它是点击。但目前的代码不工作。它正在应用,但当我点击另一个按钮什么也没有发生。有更好的方法来做到这一点?
const choices = Array.from(document.getElementsByClassName("choice-text"));
choices.forEach((choice) => {
choice.addEventListener("click", (e) => {
if (!acceptingAnswers) return;
// Remove the 'selected' class from all of the choices
choices.forEach((choice) => {
choice.parentElement.classList.remove("selected");
});
// Add the 'selected' class to the clicked choice
const selectedChoice = e.target.parentElement;
selectedChoice.classList.add("selected");
});
});
.selected {
background-color: #f1f1f1;
}
<h2 id="question">What is the answer to this questions?</h2>
<div class="choice-container">
<p class="choice-prefix">A</p>
<p class="choice-text" data-number="1">Choice 1</p>
</div>
<div class="choice-container">
<p class="choice-prefix">B</p>
<p class="choice-text" data-number="2">Choice 2</p>
</div>
<div class="choice-container">
<p class="choice-prefix">C</p>
<p class="choice-text" data-number="3">Choice 3</p>
</div>
<div class="choice-container">
<p class="choice-prefix">D</p>
<p class="choice-text" data-number="4">Choice 4</p>
</div>
</div>
<div class="btnNav">
<button class="btn" onclick="navBack(event)">Back</button>
<button class="btn" onclick="navForward(event)">Next</button>
</div>
</div>
</div>
<script src="game.js"></script>
1条答案
按热度按时间ubof19bj1#
此代码有效:
但当我回答下一个问题时,它仍然存在。