Показать сообщение отдельно
  #1 (permalink)  
Старый 04.12.2017, 22:57
Интересующийся
Отправить личное сообщение для plug-ugly Посмотреть профиль Найти все сообщения от plug-ugly
 
Регистрация: 21.08.2017
Сообщений: 27

Крестики-Нолики
Всем доброго времени суток!

Ошибка "index.html:85 Uncaught TypeError: Cannot read property '0' of undefined"

Никак не пойму в чем дело, помогите советом, пожалуйста(

Вот код:

<html>
	<head>
		<title>Крестики-Нолики</title>
		<link href = "css/style.css" type = "text/css" rel = "stylesheet"/>
		<script src = "https://code.jquery.com/jquery-2.1.0.js"></script> <!--Подключили библиотеку jQuery-->
	</head>
	
	<body id = "table">
		<table>
			<tr>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td></td>
				<td></td>
				<td></td>
			</tr>
			<tr>
				<td></td>
				<td></td>
				<td></td>
			</tr>
		</table>
	</body>
	
	<script>
//Объявление переменных
		var td = document.getElementsByTagName('td');
		var firstPlayer = 'X';
		var secondPlayer = 'O';

//Пробег по ячейкам
		for (let i = 0; i <= td.length; i++) {
			hightlighted(td[i]);
			showX(td[i]);
			checkWin(td[i]);
		}

//Подсветка ячеек
		function hightlighted(cell) {
			$(cell).each(function() {
				$(cell).mouseover(function() {
					$(cell).css('background', '#87CEEB');
				});
			});
			
			$(cell).each(function() {
				$(cell).mouseout(function() {
					$(cell).css('background', 'white');
				});
			});
		}
		
//Отображение Х и О
		function showX(cell) {
			$(cell).each(function() {
				$(cell).click(function() {
				
				$(cell).text(firstPlayer).unbind('click'); //поставили значение в ячейку и сразу отвязали событие по клику
				
				if (firstPlayer === 'X') {
					firstPlayer = secondPlayer;
				} else {
					firstPlayer = 'X';
				}
				});

			});
		}
		
//Определение победителя
		function checkWin(cell) {
			var winningCombinations = [
			[0,1,2],
			[3,4,5],
			[6,7,8],
			[0,3,6],
			[1,4,7],
			[2,5,8],
			[0,4,8],
			[2,4,6],
			];
			
			for (let i = 0; i <= winningCombinations.length; i++) {
				var combination = winningCombinations[i];
				
				if ($(cell[combination[0]]).text() === $(cell[combination[1]]).text() &&
					$(cell[combination[1]]).text() === $(cell[combination[2]]).text() &&
					$(cell[combination[0]]).text() !== '') {
					alert('WIN!');
				}
			}
		}
	</script>
</html>
Ответить с цитированием