为什么document.getelementbyId无法在Firefox中运行?

时间:2009-09-24 18:44:22

标签: javascript html firebug

我无法弄清楚为什么document.getElementById在Firefox中不起作用:

document.getElementById("main").style.width = "100";

当我检查Firebug时,它说:

TypeError:document.getElementById(“main”)为null

有人知道为什么会这样吗?

编辑:不幸的是,“身体”元素是一个不好的例子。我把它改成了另一个id为“main”的元素。

4 个答案:

答案 0 :(得分:4)

将您的脚本放在

之前
</body>

或者,如果您在<head>中使用脚本,则可以更改代码:

$(document).ready(function() {
    //enter code here.
});

答案 1 :(得分:3)

您是否将<body>元素的ID设置为“body”:

<body id="body" ...>

更新

检查以下示例是否适合您:http://jsbin.com/uyeca/edit 单击“输出”选项卡以查看结果(应为宽度为600px的DIV)。

答案 2 :(得分:3)

https://developer.mozilla.org/En/DOM/Document.getElementById

  

简单地创建一个元素和   分配ID不会成为   getElementById可访问的元素。   相反,需要插入   元素首先进入文档树   使用insertBefore或类似的方法,   可能是一个隐藏的div。

var element = document.createElement("div");
element.id = 'testqq';
var el = document.getElementById('testqq'); //
     

el将为null!

答案 3 :(得分:0)

我有同样的问题...我试图使用“getElementById”而没有HTML页面的主要结构 - 标签丢失了。

在我的页面中添加它之后工作正常...我正在编写一个本应嵌入其他网站的脚本 - 小部件。