未捕获的TypeError:无法设置未定义的属性'onclick'
我一直收到上述错误,我无法弄清楚它出错的地方或方式。每当页面加载时错误都是即时的,我不必单击任何按钮来查找错误。我相信我有正确的语法,就我自己的眼睛所知,没有错别字。
以下是相关的HTML和JS代码。我喜欢在小部件中进行编码,以确保每个小部件在进入下一部分之前都能正常工作。
HTML
<h4>Enter Hex Code</h4>
<input id="hexInput"></input></br>
<button>Generate</button>
的JavaScript
var hexInput = document.getElementById("hexInput");
var generateButton = document.getElementsByTagName("button")[0];
var generateHex = function() {
console.log(hexInput);
};
generateButton.onclick = generateHex;
如果我在帖子上错误地格式化了代码,请道歉。新注册。
感谢。
答案 0 :(得分:0)
您的脚本在页面中的位置是否早于其使用的HTML,如下面的代码段?如果是这样,那么在浏览器创建DOM元素之前var hexInput...
行正在运行。
<script>
var hexInput = document.getElementById("hexInput");
var generateButton = document.getElementsByTagName("button")[0];
var generateHex = function() {
console.log(hexInput);
};
generateButton.onclick = generateHex;
</script>
<h4>Enter Hex Code</h4>
<input id="hexInput" />
<button>Generate</button>
你可以颠倒块的顺序,事情会很好(如this JSFiddle)。或者,如果脚本位于加载了<script src="...
“的单独文件中,则在脚本运行之前将加载整个页面。