2017-01-24 16 views
-3

私は基本的なチックタックのつま先のゲームを構築しようとしています、そして、もし私が他のステートメントがあればロジックを18で作っていましたが、もっと簡潔にしたいと思っていました。基本的に、ボックスをクリックすると、「x」または「o」のいずれかのテキストが追加されます。私はその後、それらの中のテキストに基づいて行を比較するif/else文を実行したいと思います。これは私が持っているものですが、動作しません。なぜ誰かに教えてもらえますか、これを行う良い方法を教えてもらえますか?なぜこれは.contents()が機能しないのですか?

ここスニペットです:

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

"#s0"はセルまたは行を表しますか? – metame

+0

コンソールにエラーがありますか? –

+0

[jQuery .contents](https://api.jquery.com/contents/)の内容を読む - [jQuery .text](https://api.jquery.com/text/) –

答えて

0

.contents()は配列を返し、そして配列はcompared by referenceあります。代わりに値で比較される文字列を返す.text()を使用することでこれを回避することができますが、より健全なエンジニアリングプラクティスは、コードに便利な方法でDOMからゲーム状態を保持し、状態が変わるとjQueryを持つDOM。

関連する問題