Ich mache ein Tic-Tac-Toe-Spiel. Mein Problem ist, dass mein Code erlaubt, X oder O neu zu schreiben, selbst wenn eines der Quadrate bereits X oder O enthält. Ich benutze eine if-Anweisung, um entweder X oder O zu schreiben, abhängig von einer Variablen, die jedes Mal um eins erhöht wird. Ich möchte eine weitere Bedingung hinzufügen, die nur erlaubt, dass X oder O geschrieben wird, wenn mein Tag leer ist. Wie mache ich das?. Hinweis: Bitte nur Javascript, da ich jQuery noch nicht gelernt habe. Vielen Dank im Voraus!JavaScript - Wie kann man feststellen, ob ein Element leer ist?
JS
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>
Code Hinweis hat eine Reihe von syntaktischen und semantischen Fehlern - bitte funktionierenden Code zu schreiben versuchen. Beachten Sie auch, dass Sie 'this.textContent.length === 0' auch tun können, wenn Sie' this.textContent = "X"; '(nicht sicher, was das' This 'sein soll) machen. –