我正在制作井字游戏。我的问题是,即使其中一个方格已经包含X或O,我的代码仍然允许重写X或O。我使用if语句根据每次增加的数字变量来写入X或O。我想添加另一个条件,只有在我的标签为空时才允许写入X或O。我该如何做?注意:请只使用JavaScript,因为我还没有开始学习jQuery。提前感谢!
var tds = document.querySelectorAll("td");
var player = 1;
var str = "";
for (var i = 0; i < tds.length; i++) {
tds[i].addEventListener("click", function(){
if( player % 2 === 0 && tds[i] !== "<td>X</td>" && tds[i] !==
"<td>O</td>"){
this.textContent = "O";
} else if (player % 2 !== 0 && tds[i] === "" ) {
this.textContent = "X";
}
player++;
});
}
HTML -
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="css.css">
<title></title>
</head>
<body>
<table>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<script type="text/javascript" src="js.js">
</script>
</body>
</html>
this.textContent = "X";
(不确定该this
应该是什么...),那么您也可以执行this.textContent.length === 0
。 - Ken Y-N