这是我的 HTML 文件。
<body>
<header>
<h3 id = "TestID"> Test </h3>
</header>
</body>
<script src = "MessagingPage.js"></script>
这是我的JS文件
document.getElementById("TestID").addEventListener("load", function(){
this.innerHTML("Hi");
})
document.write("Hello World");
现在,当我加载 HTML 时,我会在浏览器中看到“测试”。但是,需要的是“嗨”。我不明白为什么会这样。你能帮我理解吗?我才刚刚开始,所以请用简单的术语解释一下。
感谢您花时间阅读本文:)
最佳答案
你有两个问题。
只有加载外部内容的元素才有 load
事件(例如 iframe
或 img
)。
h3
没有加载任何外部内容,因此没有 load
事件。
也许您应该将事件处理程序绑定(bind)到 window
。
innerHTML
是一个字符串,不是一个函数。
addEventListener("load", function() {
document.getElementById("TestID").innerHTML = "Hi";
})
document.write("Hello World");
<header>
<h3 id="TestID"> Test </h3>
</header>
<script src="MessagingPage.js"></script>
关于javascript - 为什么这段代码不起作用? Javascript 和 HTML。请看详情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61581944/