javascript - 无法设置 null 错误的innerHTML。虽然 html ID 存在

标签 javascript html

我收到“无法从 getElementById 设置属性‘innerHTML’为 null,但我的 HTML 元素具有正确的 ID,我的脚本也是如此。

我是 JavaScript 新手,所以如果我遗漏了一些明显的内容,请告诉我!谢谢!

这是完整的 fiddle : fiddle :http://jsfiddle.net/xPLD4/1/

这是我遇到问题的部分。 脚本:

function prices() {
   document.getElementById("regular").innerHTML = '$' + setPrices.regular + ' /gallon';
   document.getElementById("regPlus").innerHTML = '$' + setPrices.regularPlus + ' /gallon';
   document.getElementById("premium").innerHTML = '$' + setPrices.premium + ' /gallon';
   document.getElementById("status").innerHTML = "Status: No Automobile Present";
   var carPresent = false;
}

//generates prices on pump display
window.onload = prices;

var pumpDisplayOne = 1000;
document.getElementById("pumpDisplayOne").innerHTML = "Total gallons pumped on this pump: " + pumpDisplayOne;

HTML:

<h3>Pump 1</h3>
<h4 id="pumpDisplayOne">Gallons</h4>
<button type="button" class="paybutton" onclick="pay()">Pay!</button>

最佳答案

您必须在 DOMReady 之后运行您的 javascript 代码,如果您的 script标签位于 head ,先下移</body> ,或者将所有代码放入onload事件。 这是我的jsFiddle update , 这样可行。

关于javascript - 无法设置 null 错误的innerHTML。虽然 html ID 存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17691247/

相关文章:

javascript - 如何在不重新加载整个页面的情况下重新加载网页中的组件

javascript - 我可以通过使用 javascript 检查的多个复选框吗

html - 仅使用 Bootstrap 4 在较小的屏幕上隐藏列

javascript - 在当前堆栈之外执行是什么意思

javascript - Meteor Autoform - 禁用对象字段数组中的选择选项

javascript - 如何用 JavaScript 原型(prototype)编程来管理 HTTP 请求。

javascript - 创建带有换行文本的可提交聊天条目,并 "enter"提交

javascript - 如何使用 Gulp 创建包含大量文件的 ZIP 文件?

javascript - 在一个页面上从另一个页面执行javascript

javascript - Firebase/JS - 在加载页面之前触发 JavaScript?