来自外部javascript文件的getElementById
getElementById from an external javascript file
我在一个单独的javascript文件中有以下代码。
var one = document.getElementById("one");
var two = document.getElementById("two");
var three = document.getElementById("three");
var four = document.getElementById("four");
var five = document.getElementById("five");
var oneText = document.getElementById("oneText");
var twoText = document.getElementById("twoText");
var threeText = document.getElementById("threeText");
var fourText = document.getElementById("fourText");
var fiveText = document.getElementById("fiveText");
function buttonClicked() {
console.log('Hello!');
}
javascript文件使用链接到我的HTML文件中。
<script src="main.js"></script>
我在HTML文件中放了一个按钮,它的onclick调用为buttonClicked,我已经测试过了,当按下按钮时,它会返回"Hello!"在javascript控制台中(正如我所希望的那样),但当我试图更改HTML元素上的一个元素时,我收到一个错误消息。
TypeError: one is null
我现在想知道我是否应该使用一些import语句,或者是否应该使用内联javascript。
干杯
您应该在具有one
id的HTML标记下方添加用于引入main.js
的SCRIPT
标记。您可以将其视为浏览器按顺序将HTML转换为DOM。这包括加载引用DOM的JavaScript。如果将SCRIPT
标记放在标头中,则会在该时间点的DOM上下文中对其进行解析和执行(可能没有one
id的元素)。通过将JavaScript文件放在页面底部,可以避免执行类似jQuery $(documnt).ready(...)
的操作——相反,当HTML转换为DOM时,可以强制执行。
另一种方法是将所有代码放在window.onload
函数中,如下所示:
window.onload = function() {
var one = document.getElementById("one");
var two = document.getElementById("two");
var three = document.getElementById("three");
var four = document.getElementById("four");
var five = document.getElementById("five");
var oneText = document.getElementById("oneText");
var twoText = document.getElementById("twoText");
var threeText = document.getElementById("threeText");
var fourText = document.getElementById("fourText");
var fiveText = document.getElementById("fiveText");
function buttonClicked() {
console.log('Hello!');
}
}
相关文章:
- reactjs this.refs vs document.getElementById
- 如何通过adf中的document.getElementById获取inputText字段值
- 无法获取文档.GetElementById工作正常
- document.getElementById(“st”).click();不起作用
- Javascript:Can't使用getElementById获取元素
- 如何使用“;getElementById”;在一个循环中
- Javascript GetElementByID has no value
- document.getElementById并使用id名称
- document.getElementById在js中不起作用
- document.getElementById.style.backgroundImage not working
- 如何从document.getElementById()中获取UniqueID
- 从输入框、Javascript、getElementById获取值
- 什么'这个javascript代码getElementById有问题
- DOMDocument getelementbyid conflict?
- 如何从getelementbyid用javascript编写变量
- inline svg--getElementById在Opera中不起作用
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- 将global.getelementbyid连接到单个变量中
- 未捕获的类型错误:未定义不是上的函数.GetElementByID
- document.getElementById(..) is null