javascript - 在 <head> 中执行 JavaScript,getElementById 返回 null

标签 javascript

我有以下代码

<html>
<head>
<script language="JavaScript">

function foo(q) {
    this.run=function(color){
        var x=document.getElementById("ff");
        alert(x); // <----x=null
    };

}

var q=new foo();
q.run("yellow");
</script>
</head>
<body>

<div id="ff"></div>

</body>
</html>

有没有人知道为什么 x=null

最佳答案

它是 null 因为您在加载 DOM 之前调用脚本。

将您的脚本包装在一个将调用 onload 的函数中,例如:

window.onload = function() {
    var q = new foo();
    q.run('yellow');
};

关于javascript - 在 <head> 中执行 JavaScript,getElementById 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5704924/

相关文章:

javascript - 找不到 react 组件 LoginComponent - ng-React

javascript - 为每个结果实现 css 初始化选项卡

javascript - 是否可以通过滚动到元素来滚动元素上方/下方

javascript - 使用 ng-pattern 不适用于 Controller 或 JSON

javascript - DOM 为子 Javascript 分配一个 id

asp.net - 我怎样才能有一个 ascx 回发并每隔 X 秒自动刷新一次?

javascript - 如何在AngularJS中维护404页面的url

javascript - 在 TypeScript 中使用 core-js

javascript - 如何在 JS 正则表达式中将模式与非捕获组匹配

javascript - 使用正则表达式在选择标签html中查找字符串