1回目のクリックで「X」と表示され、その後「O」に変わります。それは再び "X"に変更されません要素は1回目のクリックで変更されますが、2回目のクリックで元に戻りません
私はチックタックつま先のゲームをjavascriptでしようとしています。
最初のクリックは「X」と表示され、2番目のクリックは「O」と表示されます。しかし、その後のクリックでは、「O」のみが表示され、すなわち「X」に戻ることはない。
function startGame(){
//To display whose turn it is
document.turn="X";
setMessage(document.turn + " gets to start");
}
function setMessage(msg){
//gets the message div and puts value = msg
document.getElementById("message").innerText= msg;
}
function nextMove(square){
square.innerText= document.turn;
switchTurn();
}
function switchTurn(){
if(document.turn="X"){
document.turn="O";
}else{
document.turn="X";
}
}
<body onload="startGame();">
<div id="message">Messages will go here</div>
<table border=0>
<td>
<table border=1>
\t <tr>
\t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t <td class="box" onclick="nextMove(this);"></a></td>
\t </tr>
\t \t <tr>
\t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t </tr>
\t \t <tr>
\t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t \t <td class="box" onclick="nextMove(this);"></a></td>
\t \t </tr>
\t </table>
</td>
<td>
<table>
\t <tr>
<td><input type=text size=5 id="player1" value=0></td>
<td>Player1</td>
</tr>
\t \t <tr>
<td><input type=text size=5 id="player2" value=0></td>
<td>Player2</td>
</tr>
\t \t <tr>
<td><input type=text size=5 id="ties" value=0></td>
<td>Ties</td>
</tr>
\t </table>
</td>
</table>
</body>
'(document.turnは= "X")の場合{' '==='使うべきではなく、 '=' – Pointy
我々の前にあなたのHTMLは無効です。 –
[演算子(== vs ===)はJavaScriptの比較で使用する必要がありますか?](https://stackoverflow.com/questions/359494/which-equals-operator-vs-should-be-used) -in-javascript-comparisons) –