Имя функции не определено в HTMLTableCellElement.onclick

#javascript #html #function #syntax-error #undefined

#javascript #HTML #функция #синтаксическая ошибка #не определено

Вопрос:

Я хочу сделать игру X и O, поэтому первая функция, которую я выполнил, имеет цикл и условие, чтобы, когда я нажимаю на любую ячейку (td) в таблице, и если все ячейки в таблице пусты, записывал X в ячейку, в которую я щелкнул, но у меня здесь проблема 2, сначалатот, который написал консоль (Sample1.html:53 Uncaught SyntaxError: неожиданный токен ‘<‘), он ссылается на цикл for, поэтому я не знаю, в чем проблема. вторая проблемная консоль также написала, что имя моей функции не определено, хотя имя функции указано правильно, так что кто-нибудь может мне помочь.

коды JS

 <script >
/*var lastGame;*/
var TR=0;
var table = document.getElementById('tb');
function CheckAllEmpty(idClicked){
for(var x=0, x <  table.rows.length; x  ){    
if(!table.rows[x])
{
TR  ;    
}
else{} 

}
if(TR==9) 
{
document.getElementById(idClicked).innerHTML="X";    
}
else {}
}

</script>  
  

И HTML- :

   <table id="tb">

  <tr>
  <td id="td1" onclick="CheckAllEmpty(this.id);"></td>
  <td id="td2"></td>
  <td id="td3"></td>
  </tr>

  <tr>
  <td id="td4"></td>
  <td id="td5"></td>
  <td id="td6"></td>
  </tr>

  <tr>
  <td id="td7"></td>
  <td id="td8"></td>
  <td id="td9"></td>

  </tr>    

  </table> 
  

Комментарии:

1. У вас есть , где вам нужно ;

Ответ №1:

Похоже, с вашим кодом есть и другие проблемы, но ваши две конкретные проблемы должны быть исправлены. Также я не понимаю, зачем вам нужно проверять, пуста ли каждая ячейка, но опять же, я не вижу остальной части вашего кода. Не стесняйтесь задавать любые вопросы в комментариях.

 var TR = 0;
var table = document.getElementById('tb');

function CheckAllEmpty(idClicked) {
  for (var x = 0; x < table.rows.length; x  ) {
    if (!(table.rows[x].value == "")) {
      TR  ;
      console.log(TR);
    }
  }
  if (TR == 3) {
    document.getElementById(idClicked).innerHTML = "X";
  }
}
CheckAllEmpty('td1');  
 <table id="tb">

  <tr>
    <td id="td1" onclick="CheckAllEmpty(this.id)"></td>
    <td id="td2"></td>
    <td id="td3"></td>
  </tr>

  <tr>
    <td id="td4"></td>
    <td id="td5"></td>
    <td id="td6"></td>
  </tr>

  <tr>
    <td id="td7"></td>
    <td id="td8"></td>
    <td id="td9"></td>

  </tr>

</table>