Javascript可以';无法按id查找元素? 测试javascript var e=document.getElementById(“db_信息”); e、 innerHTML='Found you';
如果我使用Javascript可以';无法按id查找元素? 测试javascript var e=document.getElementById(“db_信息”); e、 innerHTML='Found you';,javascript,getelementbyid,Javascript,Getelementbyid,如果我使用alert(e)它显示为null。。。。很明显,我在屏幕上看不到任何“找到你”的画面。我做错了什么?脚本是在构建主体的DOM之前执行的。将其全部放入一个函数中,并从body元素的onload调用它。问题是您试图在元素存在之前访问它。您需要等待页面完全加载。一种可能的方法是使用onload处理程序: <html> <head> <title>Test javascript</title> <script type="
alert(e)代码>它显示为null
。。。。很明显,我在屏幕上看不到任何“找到你”的画面。我做错了什么?脚本是在构建主体的DOM之前执行的。将其全部放入一个函数中,并从body元素的onload
调用它。问题是您试图在元素存在之前访问它。您需要等待页面完全加载。一种可能的方法是使用onload
处理程序:
<html>
<head>
<title>Test javascript</title>
<script type="text/javascript">
var e = document.getElementById("db_info");
e.innerHTML='Found you';
</script>
</head>
<body>
<div id="content">
<div id="tables">
</div>
<div id="db_info">
</div>
</div>
</body>
</html>
不过,大多数常见的JavaScript库都提供了DOM就绪事件。这更好,因为window.onload
也会等待所有图像。在大多数情况下,您不需要这样做
另一种方法是将脚本标记放在关闭
-标记之前,因为它前面的所有内容都是在执行时加载的,然后在onload事件中运行代码,或者在关闭主体标记之前运行代码。
您试图查找一个元素,但此时该元素不存在。浏览器如何知道何时在脚本标记中运行代码?因此,要使代码在窗口完全加载后运行
window.onload = function () {
var e = document.getElementById("db_info");
e.innerHTML='Found you';
};
另一种方法是在元素存在之前调用脚本
您应该尝试以下操作之一:
将代码包装到函数中,并使用body onload事件调用它
将脚本放在文档末尾
在脚本标记声明中使用defer属性
+1对于window.onload和匿名函数^^^值得思考:JavaScript代码块何时运行?id为“db_info”的DIV何时创建和/或保证存在?
window.onload = doStuff;
function doStuff() {
var e = document.getElementById("db_info");
e.innerHTML='Found you';
}