我正在制作一个小Tic Tac Toe游戏,我想在用户尝试点击已经有值的单元格时提醒用户。这是我到目前为止所拥有的。
var turn = "O";
//player 1 = turn = O
//player2 = turn = X
var cell = $('#cell');
function go(cellID) {
//alert(turn);
var boxId = "#" + cellID;
if (cell = null) {
if (turn == 'O') {
$(boxId).html("O");
turn = 'X';
} else {
if (turn == 'X') {
$(boxId).html("X");
turn = 'O';
}
}
} else {
alert('Pick another box')
}
//alert(cellID);
$('h2:last').html('Turn: ' + turn);
return turn;
}

.cell {
height: 20px;
width: 10px;
background-color: blue;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="gameTable">
<table style="width: 100%;">
<tr>
<td onclick="go('C0')" id="C0" class="cell"></td>
<td onclick="go('C1')" id="C1" class="cell"></td>
<td onclick="go('C2')" id="C2" class="cell"></td>
</tr>
<tr>
<td onclick="go('C3')" id="C3" class="cell"></td>
<td onclick="go('C4')" id="C4" class="cell"></td>
<td onclick="go('C5')" id="C5" class="cell"></td>
</tr>
<tr>
<td onclick="go('C6')" id="C6" class="cell"></td>
<td onclick="go('C7')" id="C7" class="cell"></td>
<td onclick="go('C8')" id="C8" class="cell"></td>
</tr>
</table>
</div>
&#13;
答案 0 :(得分:1)
我想我理解你的问题。您在第9行的检查不太正确。您可以使用返回元素内容的.html()
来查看元素的值是否为空,如果元素为空,则返回空字符串。
if (cell = null) {
将成为if ($(boxId).html() === '') {
答案 1 :(得分:-1)
正如其他人所说,onclick
不正确,应为td
。
另一个要点是,您不应该在.on('click')
元素中使用.class
事件。相反,您应该使用jquery的unexpected element (uri:identity.rest.mgmt.acs.nm.cisco.com", local:"user"). Expected elements are (none)
事件。
查看此JSFiddle