我无法弄清楚为什么document.getElementById在Firefox中不起作用:
document.getElementById("main").style.width = "100";
当我检查Firebug时,它说:
TypeError:document.getElementById(“main”)为null
有人知道为什么会这样吗?
编辑:不幸的是,“身体”元素是一个不好的例子。我把它改成了另一个id为“main”的元素。
答案 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页面的主要结构 - 标签丢失了。
在我的页面中添加它之后工作正常...我正在编写一个本应嵌入其他网站的脚本 - 小部件。