Javascript 为什么document.getelementbyId在Firefox中不工作?

Javascript 为什么document.getelementbyId在Firefox中不工作?,javascript,html,firebug,Javascript,Html,Firebug,我不明白document.getElementById为什么不能在Firefox中工作: document.getElementById("main").style.width = "100"; 当我登记Firebug时,它会说: TypeError:document.getElementById(“main”)为空 有人知道为什么会这样吗 编辑:不幸的是,“body”元素是一个糟糕的例子。我将其更改为另一个id为“main”的元素。您是否将元素的id设置为“body”: 更新: 检查以下

我不明白document.getElementById为什么不能在Firefox中工作:

document.getElementById("main").style.width = "100";
当我登记Firebug时,它会说:

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

有人知道为什么会这样吗


编辑:不幸的是,“body”元素是一个糟糕的例子。我将其更改为另一个id为“main”的元素。

您是否将
元素的id设置为“body”:


更新:

检查以下示例是否适用于您: 单击“输出”选项卡以查看结果(应该是宽度为600px的DIV)。

只需创建一个元素和 分配ID不会使 元素可由getElementById访问。 相反,需要插入 元素首先进入文档树 使用insertBefore或类似方法, 可能是藏在一个隐蔽的房间里

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


我也有同样的问题…我试图在没有HTML页面主结构的情况下使用“getElementById”——缺少标记


在我的页面中添加之后,它工作得很好……我正在编写一个脚本,该脚本应该嵌入到其他网站上——类似于widget之类的东西。

将脚本放在前面

</body>

对不起,坏例子;我将问题改为一个ID为的实际元素。您是在某处重新定义document.getElementById还是加载了一些这样的JS?顺便说一句:在指定宽度时不要忘记“px”,例如steve_c说的“100px”。给我们一个完整的失败案例,我们可以复制。getElementById()对我们所有人都很好。结果证明它不起作用,因为我没有包括“px”——Martin说的。谢谢,我只是注意到body是一个不好的例子,并将它设置为不同的id。
</body>
$(document).ready(function() {
    //enter code here.
});