前提・実現したいこと
ここに質問の内容を詳しく書いてください。
javascriptで〇×ゲームを作っています。ゲーム盤を表示させることはできましたが、盤に〇と×を表示することができません。とりあえず〇×さえ表示できれば良いのですが・・・
発生している問題・エラーメッセージ
not availavle
該当のソースコード
javascript
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Tic Tac Toe </title> 6 <style> 7 #board{ 8 background-color:black; 9 } 10 td.cell{ 11 background-color:green; 12 width:30px; 13 height:30px; 14 } 15 </style> 16 <script> 17 function init(){ 18 var b=document.getElementById("board"); 19 for(var i=0;i<3;i++){ 20 var tr=document.createElement("tr"); 21 22 for(var j=0;j<3;j++){ 23 var td=document.createElement("td"); 24 td.className="cell"; 25 td.id="cell"+i+j; 26 td.onclick=clicked; 27 tr.appendChild(td); 28 } 29 b.appendChild(tr); 30 31 } 32 33 function clicked(e){ 34 35 document.getElementById("info").textContent=e.target.id+"clicked"; 36 37} 38 39 } 40 41 42 43 </script> 44 </head> 45 <body> 46 47 <body onload="init()"> 48 <table id="board"></table> 49 <h2 id="info"></h2> 50 51 52 </body> 53</html>
試したこと
セルに〇を表示するために"board"や"cell"や"e.target.id"や"td"に"〇"を代入すること。
// e.target.id+"clicked"+"〇";
//document.getElementById("e.target").textContent="〇";
//e.target.id+"clicked"=td+"〇";
//clicked="info"+"〇" ;
//td.onclicked="〇";
などをfunction clicked(e)の中に書きましたが、Cannot set property 'textContent' of null と出たり、Invalid left-hand side in assignmentと出たりでinit()がnot definedになってしまいます。(書くときにはそれぞれ単体ずつ書いてます。//を外して書いています。)
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー