html显示未定义,javascript-未定义的HTML元素

我用JavaScript制作了Knight’s Tour个游戏.您可以尝试here.(特别是用于重现该错误)

我在读取时遇到很多麻烦的错误

Uncaught TypeError: Cannot read property ‘innerHTML’ of undefined

但我不确定为什么未定义.我有一张桌子,上面放着64个格子(制作棋盘).它们都是空旷的

...

这是页面上的唯一表.我使用javascript检索所有td元素,并通过它们迭代添加id,类,背景色和onclick eventListeners来进行游戏.

var tds;

window.onload = function() {

tds = document.getElementsByTagName("td");

for (var i = 0; i < tds.length; i++) {

if (typeof window.addEventListener === 'function') {

(function (td) {

...

td.addEventListener('click', function() {

...

似乎有几个不同的单元格反复发生此错误.有时我可以让单个单元格产生错误,而其他时候则无法.一个可重复的示例是先移至最下面一行,然后移至最后一个单元格,然后尝试将其向上移到该单元格的两个上方,然后从侧面向右移.

我经常在onclick内阅读innerHTML属性.我指的是td元素的全局tds数组.这基本上是我访问它们的所有形式的信息.

if (tds[cell].innerHTML === "") {

if (tds[n].innerHTML === "?") {

tds[cell].innerHTML = "?";

tds[target].innerHTML = "?";

td.innerHTML = "?";

我真的以为我已经弄清楚了当我在reading about时使用var声明变量与不使用它之间的区别,但是我无法找出导致此错误的单个var.任何帮助,将不胜感激.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值