Javascript document.getElementById不工作
我是javascript新手,想用一些文本填充div。但它不起作用。 在文档中,这是执行此操作的常用方法。但是,为什么这不适合我呢 我的代码是Javascript document.getElementById不工作,javascript,Javascript,我是javascript新手,想用一些文本填充div。但它不起作用。 在文档中,这是执行此操作的常用方法。但是,为什么这不适合我呢 我的代码是 <!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> document.getElementById('mytest').innerHTML="hey"; </scri
<!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()
的结果不是您所期望的。谢谢。现在它在帮你。现在它开始工作了