未捕获类型错误:不能设置属性'onClick'的定义
Uncaught TypeError: cannot set property 'onClick' of undefined
我正在做一个HTML音乐创建器。每次我运行JavaScript函数从td
标签的第八个元素开始向每个td
元素添加onClick
属性时,我都会得到一个错误。我得到错误:
"未捕获的类型错误:无法设置属性'onClick'的未定义。"
这是我的JavaScript:
function addOnclick() {
var num = 1;
var note = 0;
i = 8;
while (i < (17 * 12) + 8 + 1) {
document.getElementsByTagName("td")[i].onClick = "switchNote(" + num + ", " + note + ")";
if (i == 25 || i == 42 || i == 59 || i == 76 || i == 81 || i == 98 || i == 115 || i == 132 || i == 149 || i == 166 || i == 183 || i == 200 || i == 217) {
note = note + 1;
num = 1;
}
i = i + 1;
num = num + 1;
console.log("working");
}
}
如果你有任何想法,请帮助!
谢谢,
<我> Tendel t . 我>
两件事,
- 你需要检查元素是否存在(如果没有你的标记很难判断)。
试试
var element = document.getElementsByTagName("td")[i];
element && element.onclick = function(){
switchNote( num, note )
};
- onclick处理程序的值不能是字符串,必须是函数。
不应将值赋给OnClick
,而应使用setAttribute
并检查元素是否已定义,如下所示:
function addOnclick() {
function addOnclick() {
var num = 1;
var note = 0;
i = 8;
while (i < (17 * 12) + 8 + 1) {
var elem = document.getElementsByTagName("td")[i];
if (elem)
{
elem.setAttribute('onclick', "switchNote(" + num + ", " + note + ")")
}
if (i == 25 || i == 42 || i == 59 || i == 76 || i == 81 || i == 98 || i == 115 || i == 132 || i == 149 || i == 166 || i == 183 || i == 200 || i == 217) {
note = note + 1;
num = 1;
}
i = i + 1;
num = num + 1;
console.log("working");
}
}
}
相关文章:
- 具有onclick功能的自定义复选框在实际切换复选框之前执行功能
- jQuery onclick 函数:未定义不是一个函数
- Javascript onclick getvalue 是未定义的
- 在rails中,当使用'sort_link'我们如何定义onClick
- 自定义Javascript Alert Popup onclick svg路径
- 提取并调用在元素的 onclick HTML 属性中定义的 JavaScript 函数(使用 jQuery attr/p
- 引用错误: 未定义 onclick 函数
- JavaScript onClick 参数表示未定义变量
- 作为参数传递给 onclick() 的 C# 变量是未定义的
- 如何使用 onclick 添加自定义锚链接
- 谷歌地图多个标记与自定义标记和OnClick Zoom
- 为 onClick of 按钮定义的所有函数都被调用
- 未定义动态 li 标签内按钮的 onclick 事件
- 纯JavaScript onclick在分配函数作用域结束后变为未定义
- Javascript Onclick 事件错误:$ 未定义
- 使全局变量根据onclick函数中定义的增量进行更改
- 可以't在自定义dojo小部件内分配onclick事件
- 从自定义小部件onclick内部的dgrid获取单元格值
- Uncaught ReferenceError:函数不是用onclick定义的
- 将变量放在onclick定义中是安全的