Javascript 未捕获的TypeError:document.getElementById(…).onclick不是函数

Javascript 未捕获的TypeError:document.getElementById(…).onclick不是函数,javascript,jquery,html,onclick,Javascript,Jquery,Html,Onclick,我运行这段代码是为了让用户选择表/矩阵的大小。用户可以在表格中单击以选择矩阵的大小。但是,当我尝试访问其中一个元素的onclick时,我得到了一个错误 具体地说,我在第179行得到以下错误:uncaughttypeerror:document.getElementById(…).onclick不是一个函数 我在前面的stackoverflow问题中查找了这个错误,似乎人们过去所做的是重新声明函数(在我的例子中,onclick)为不同的函数/变量。在本文档中,onclick的唯一一个抛出错误的实例

我运行这段代码是为了让用户选择表/矩阵的大小。用户可以在表格中单击以选择矩阵的大小。但是,当我尝试访问其中一个
元素的
onclick
时,我得到了一个错误

具体地说,我在第179行得到以下错误:
uncaughttypeerror:document.getElementById(…).onclick
不是一个函数

我在前面的stackoverflow问题中查找了这个错误,似乎人们过去所做的是重新声明函数(在我的例子中,
onclick
)为不同的函数/变量。在本文档中,
onclick
的唯一一个抛出错误的实例

您可以查看此网页的实时版本,其来源如下

编辑:好吧,我想直接链接到我的页面会让它因为某种原因崩溃。请尝试复制并粘贴URL:


线性代数计算器
身体{
背景色:#111111;
颜色:#DDDDDD;
}
运输署{
背景色:#4444;
填充:15px;
}
线性代数计算器
单击下表中的一个单元格以选择矩阵大小

函数newSelection(行、列){ 选举(); for(i=0;i确实不是一个函数,而是一个属性。您应该为它分配一个函数来处理事件。因此它应该是:

document.getElementById(i + "," + j).onclick = ceck;
确实不是函数而是属性。您应该为其分配一个函数来处理事件。因此,它应该是:

document.getElementById(i + "," + j).onclick = ceck;
这是一种财产

onclick属性返回当前元素上的click事件处理程序代码

或者您可以使用匿名函数,如下所示:

document.getElementById(i + "," + j).onclick = function() { alert("Hello"); };
这是一种财产

onclick属性返回当前元素上的click事件处理程序代码

或者您可以使用匿名函数,如下所示:

document.getElementById(i + "," + j).onclick = function() { alert("Hello"); };

好的,这很有帮助!但是现在每当加载网页时,它都会自动单击加载的第二个单元格,我甚至都不会将鼠标移到网页中。这是我需要说明的事情吗?或者有没有办法阻止在加载网页时调用ceck?无法复制:我猜页面上还有其他内容将一个函数命名为onclick,它需要是一个匿名函数,或者是一个返回函数的函数,否则它将在赋值时运行:
document.getElementById(i+,“+j”).onclick=function(){ceck();}
好的,这很有帮助!但是现在每当加载网页时,它都会自动单击加载的第二个单元格,我甚至不用将鼠标移到网页中。这是我需要说明的事情吗?还是有什么方法可以阻止在加载网页时调用ceck?无法复制:我猜页面上还有其他内容。什么时候将函数分配给onclick时,它必须是匿名函数或返回函数的函数,否则它将在分配时运行:
document.getElementById(i+”,“+j)。onclick=function(){ceck();};