Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript document.body.appendChild(一)_Javascript_Internet Explorer 7_Dom Events - Fatal编程技术网

Javascript document.body.appendChild(一)

Javascript document.body.appendChild(一),javascript,internet-explorer-7,dom-events,Javascript,Internet Explorer 7,Dom Events,我只在IE7中得到错误,因为文档。body为空;当我使用Microsoft脚本编辑器进行调试时,我在以下行中得到错误: i、 e document.body.appendChild(一) 代码: 你能告诉我解决这个问题需要做什么吗?你可以试试 document.getElementsByTagName('body')[0].appendChild(i); 现在,如果代码在中运行,并且在之前运行,浏览器甚至可以看到,那么这对您没有任何好处。如果您不想弄乱“onload”处理程序,请尝试将块移动到

我只在IE7中得到错误,因为
文档。body
为空;当我使用Microsoft脚本编辑器进行调试时,我在以下行中得到错误: i、 e

document.body.appendChild(一)

代码:

你能告诉我解决这个问题需要做什么吗?

你可以试试

document.getElementsByTagName('body')[0].appendChild(i);

现在,如果代码在
中运行,并且在
之前运行,浏览器甚至可以看到
,那么这对您没有任何好处。如果您不想弄乱“onload”处理程序,请尝试将
块移动到文档的最后,而不是它正在工作的

。只需修改为空检查:

if(document.body != null){
    document.body.appendChild(element);
}

波蒂的建议很好;它可能会起作用,但我没有尝试。

2019年,您可以使用querySelector实现这一点

大多数浏览器都支持它()

可能还希望使用“documentElement”:


如果您的脚本位于html文件中的head标记内,请尝试将其置于body标记内。 当脚本位于head标记内时,CreateElement将给您一个空警告

<head>
  <title></title>
</head>

<body>
  <h1>Game</h1>
  <script type="text/javascript" src="script.js"></script>
</body>

游戏

您可以
document.body
添加子项
,但如果文档尚未加载,则不能。所以你应该 把所有东西都放进去:

window.onload=function(){
    //your code
}
这是可行的,或者您可以使
appendChild
依赖于其他事件,例如,另一个事件


事实上,您可以尝试更改
document.body的
innerHTML
,它可以工作

为什么不使用一个不适合调试的版本呢?在
中运行脚本是很好的选择。因此,我一直得到一个
无法调用null的方法'appendChild'。将其移动到文档末尾修复了它,因为“”在标头中运行时不存在。
var elem = document.createElement("div");
elem.style = "width:100px;height:100px;position:relative;background:#FF0000;";
document.documentElement.appendChild(elem);
<head>
  <title></title>
</head>

<body>
  <h1>Game</h1>
  <script type="text/javascript" src="script.js"></script>
</body>
window.onload=function(){
    //your code
}