我有练习编写一个井字游戏。我只是在遇到这个问题时尝试了一些想法。我的函数不起作用,如果是/ else语句则非常简单。
function game(){
if(e = "x"){
d.text("o");
}else{
c.text("o");
}
};
无论我点击什么字段,都会将“o”返回到 d 。此外,当我将if(e = "x")
更改为if(e == "x")
时,它始终会将“o”返回到 c 。
我会欣赏任何暗示。谢谢。
$(document).ready(function() {
var a = $("#a"),
b = $("#b"),
c = $("#c"),
d = $("#d"),
e = $("#e"),
f = $("#f"),
g = $("#g"),
h = $("#h"),
i = $("#i");
function game() {
if (e = "x") {
d.text("o");
} else {
c.text("o");
}
};
function humanIsX() {
$(".field").on("click", function() {
$(this).text("x");
game();
});
};
humanIsX();
});
.field {
display: inline-block;
height: 100px;
width: 100px;
font-size: 110px;
text-align: center;
border: 2px solid gray;
border-radius: 5%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="third_page">
<div class="row" id="first-row">
<div class="field" id="a"></div>
<div class="field" id="b"></div>
<div class="field" id="c"></div>
</div>
<div class="row" id="second-row">
<div class="field" id="d"></div>
<div class="field" id="e"></div>
<div class="field" id="f"></div>
</div>
<div class="row" id="third-row">
<div class="field" id="g"></div>
<div class="field" id="h"></div>
<div class="field" id="i"></div>
</div>
</div>
答案 0 :(得分:2)
与往常一样,<{>分配的=
与比较的==
之间存在巨大差异。
另一个问题是e
不是像"x"
那样的值,而是你需要询问的DOM对象:
if (e.text() == "x")
您可能希望将其重新编写为某种数组而不是一堆不可伸缩的变量。然后,您可以以编程方式更好地使用它,完全跳过if
。分支较少的代码更容易预测。
例如,将您的单元格命名为#cell-1
到#cell-9
,然后您可以使用$('#cell-' + cellNo).text('o')
来引用它们。
答案 1 :(得分:0)
将条件更改为
if (e=="x") {
答案 2 :(得分:0)
$(&#34;#e&#34;)返回一个html对象。如果你想看看是否有&#34; x&#34;在div中,这样做$(&#34;#e&#34;)。text()==&#34; x&#34;。
function game() {
if (e.text() == "x") {
d.text("o");
} else {
c.text("o");
}
};