Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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.getElementById不工作_Javascript - Fatal编程技术网

Javascript document.getElementById不工作

Javascript document.getElementById不工作,javascript,Javascript,我是javascript新手,想用一些文本填充div。但它不起作用。 在文档中,这是执行此操作的常用方法。但是,为什么这不适合我呢 我的代码是 <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> document.getElementById('mytest').innerHTML="hey"; </scri

我是javascript新手,想用一些文本填充div。但它不起作用。 在文档中,这是执行此操作的常用方法。但是,为什么这不适合我呢

我的代码是

<!DOCTYPE html>
<html>
<head>
<title></title>
<script type="text/javascript">
    document.getElementById('mytest').innerHTML="hey";
</script>
</head>
<body>

<div id="mytest"></div>

</body>
</html>

document.getElementById('mytest').innerHTML=“hey”;

您需要将脚本移动到HTML的末尾。现在,您正在解析HTML之前执行脚本,因此文档为空,因此
document.getElemntById('mytest')
找不到任何内容

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>

<div id="mytest"></div>

<script type="text/javascript">
    document.getElementById('mytest').innerHTML="hey";
</script>
</body>
</html>

document.getElementById('mytest').innerHTML=“hey”;
如果您不想移动您的
标签,请参阅此其他答案,了解有关此问题的更多讨论和其他选项:


您需要将脚本移动到HTML的末尾。现在,您正在解析HTML之前执行脚本,因此文档为空,因此
document.getElemntById('mytest')
找不到任何内容

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>

<div id="mytest"></div>

<script type="text/javascript">
    document.getElementById('mytest').innerHTML="hey";
</script>
</body>
</html>

document.getElementById('mytest').innerHTML=“hey”;
如果您不想移动您的
标签,请参阅此其他答案,了解有关此问题的更多讨论和其他选项:


这是因为,在您的文档中,javascript首先被加载,但id为
mytest
的div此时不被加载

您有两个选项可以使此功能正常工作:

首先:让javascript等待dom完全加载

window.onload=function(){
  document.getElementById('mytest').innerHTML="hey";
}
第二:

将脚本代码放在底部,以便至少加载javascript

但我更喜欢第一种解决方案


最好的

这是因为,在您的文档中,javascript首先被加载,但id为
mytest
的div此时不被加载

您有两个选项可以使此功能正常工作:

首先:让javascript等待dom完全加载

window.onload=function(){
  document.getElementById('mytest').innerHTML="hey";
}
第二:

将脚本代码放在底部,以便至少加载javascript

但我更喜欢第一种解决方案

最好用这种方法试试

<!DOCTYPE html>
<html>
<head>
<title></title>

</head>
<body>

<div id="mytest"></div>

</body>
<script type="text/javascript">
    document.getElementById('mytest').innerHTML="hey";
</script>
</html>

document.getElementById('mytest').innerHTML=“hey”;
试着用这种方法

<!DOCTYPE html>
<html>
<head>
<title></title>

</head>
<body>

<div id="mytest"></div>

</body>
<script type="text/javascript">
    document.getElementById('mytest').innerHTML="hey";
</script>
</html>

document.getElementById('mytest').innerHTML=“hey”;

询问和回答了几十次。快速提示:打开浏览器的开发工具并查找错误,就可以开始调试此类问题。在Chrome中,您可以使用Ctrl+Shift+i来执行此操作。您将看到此错误:
未捕获类型错误:无法将属性“innerHTML”设置为null
。这表明
getElementById()
的结果不是您期望的结果。询问和回答了几十次。快速提示:打开浏览器的开发工具并查找错误,就可以开始调试此类问题。在Chrome中,您可以使用Ctrl+Shift+i来执行此操作。您将看到此错误:
未捕获类型错误:无法将属性“innerHTML”设置为null
。这表明
getElementById()
的结果不是您所期望的。谢谢。现在它在帮你。现在它开始工作了