为什么这个.contents()不起作用?

时间:2017-01-24 04:18:14

标签: javascript jquery if-statement

我正在尝试构建一个基本的tic tac toe游戏,我有18个if if语句的逻辑,但我想让它更简洁。基本上,当您单击一个框时,它会添加文本,“x”或“o”。我想在if / else语句中根据其中的文本比较行。这就是我所拥有的,但它不起作用。有人可以告诉我为什么,或者给出更好的方法吗?

这是一个片段:

if ($("#s0").contents() === $("#s1").contents() && $("#s1").contents() === $("#s2").contents()) {
    console.log("you win");
    $(".winner.(contents())").show();
} 
else if ($("#s3").contents() === $("#s4").contents() === $("#s5").contents()) {
    $(".winner.(contents)").show();
}

1 个答案:

答案 0 :(得分:0)

.contents()返回一个数组,数组为compared by reference。您可以通过使用.text()来解决这个问题,它返回按值进行比较的字符串,但更合理的工程实践是以一种方便您的代码的方式将游戏状态保持在DOM之外,并且只需更新使用jQuery作为状态更改的DOM。