javascript - 无法弄清楚为什么我的文字没有变成绿色
问题描述
首先,这是我的代码。
var p1 = document.querySelector(".playerOne");
var p2 = document.querySelector(".playerTwo");
var p1Display = document.querySelector("#p1Span");
var p2Display = document.querySelector("#p2Span");
var header = document.querySelector("h1");
var reset = document.querySelector(".reset");
//var input = document.getElementsByTagName("input");
var until = document.getElementsByClassName(".until");
var p1Score = 0;
var p2Score = 0;
var gameOver = false;
var max = 5;
p1.addEventListener("click", function() {
if (!gameOver) {
p1Score++;
p1Display.textContent = p1Score;
header.textContent = (p1Score + " to " + p2Score);
}
if (p1Score === max) {
p1Display.classList.add("winner");
gameOver = true;
}
});
p2.addEventListener("click", function() {
if (!gameOver) {
p2Score++;
p2Display.textContent = p2Score;
header.textContent = (p1Score + " to " + p2Score);
}
if (p2Score === max) {
p2Display.classList.add("winner");
gameOver = true;
}
});
reset.addEventListener("click", function() {
gameOver = false;
p1Score = 0;
p2Score = 0;
p1Display.classList.remove("winner");
p2Display.classList.remove("winner");
header.textContent = (p1Score + " to " + p2Score);
});
.winner {
color: green;
}
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>JS practice 2</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1><span id="p1Span">0</span> to <span id="p2Span">0</span></h1>
<p class="until">Playing to: </p>
<input type="number">
<button class="playerOne">Player One</button>
<button class="playerTwo">Player Two</button>
<button class="reset">Reset</button>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
所以,如您所见,我的 p1Display 和 p2Display 应该变成绿色。问题是,他们不这样做,而他们以 5 分的成绩挑选班级冠军。为什么它没有变成绿色,而它有把它变成绿色的类?
解决方案
您正在span
通过更改h1
每次的内容来擦除 。无需这样做,因为您已经在更改span
. 所以你必须删除这个:
header.textContent = (p1Score + " to " + p2Score);
var p1 = document.querySelector(".playerOne");
var p2 = document.querySelector(".playerTwo");
var p1Display = document.querySelector("#p1Span");
var p2Display = document.querySelector("#p2Span");
var header = document.querySelector("h1");
var reset = document.querySelector(".reset");
//var input = document.getElementsByTagName("input");
var until = document.getElementsByClassName(".until");
var p1Score = 0;
var p2Score = 0;
var gameOver = false;
var max = 5;
p1.addEventListener("click", function() {
if (!gameOver) {
p1Score++;
p1Display.textContent = p1Score;
}
if (p1Score === max) {
p1Display.classList.add("winner");
gameOver = true;
}
});
p2.addEventListener("click", function() {
if (!gameOver) {
p2Score++;
p2Display.textContent = p2Score;
}
if (p2Score === max) {
p2Display.classList.add("winner");
gameOver = true;
}
});
reset.addEventListener("click", function() {
gameOver = false;
p1Score = 0;
p2Score = 0;
p1Display.classList.remove("winner");
p2Display.classList.remove("winner");
});
.winner {
color: green;
}
<h1><span id="p1Span">0</span> to <span id="p2Span">0</span></h1>
<p class="until">Playing to: </p>
<input type="number">
<button class="playerOne">Player One</button>
<button class="playerTwo">Player Two</button>
<button class="reset">Reset</button>
推荐阅读
- javascript - 使用js从客户端向php发送多个请求
- java - 如何指定与在 JAVA 8 中分离的相同设置对象的 JPA 关系
- json - 只需从 Json 文件中获取一些内容
- c# - MDIPArentForm:我正在使用 c# 中的一个项目,我有一个页面是 Menueform 这个表单我使用 MDIPArent 表单
- javascript - 在数组中获取空值
- c# - 加载强命名程序集,无论 Compact Framework 中的版本如何
- c# - 如何修复“本地主机指示您太多次”。MVC 中的错误
- javascript - axios 不适用于新 FormData() 的发布文件数据
- html - 选择中的默认选项,具有反应形式
- sql - 增加循环内数字的生成(SQL、Oracle)