未捕获的类型错误:无法在 window.onload 中读取 null 的属性“length”
2017-04-26
1740
我从网上资源中学习了 javascript 代码,但是遇到了一些问题, 我的代码无法运行,并且出现了“Uncaught TypeError...”。我尝试了很多方法来解决错误,但都不起作用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>win下载 </title>
<style>
div {width: 200px;height: 200px;float: left;
border: 1px solid black;margin: 10px}
</style>
<script>
window.onload=function () {
var aDiv = document.getElementById('div');
alert(aDiv.length);
// aDiv[0].style.background = 'red';
};
</script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
3个回答
在您的示例中,您使用的是
document.getElementById('div')
。没有 ID 为
div
的元素。
我假设您正在寻找
document.getElementsByTagName('div')
,它将返回所有
<div>
元素。
window.onload = function() {
var divElements = document.getElementByTagName('div');
alert(divElements.length); // 4
divElements[0].style.background = 'red'; // set the first div element's background to red
};
Toby Mellor
2017-04-26
var aDiv = document.getElementById('div');
应为
var aDiv = document.getElementsByTagName('div');
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>win下载 </title>
<style>
div {width: 200px;height: 200px;float: left;
border: 1px solid black;margin: 10px}
</style>
<script>
window.onload=function () {
var aDiv = document.getElementsByTagName('div');
alert(aDiv.length);
// aDiv[0].style.background = 'red';
};
</script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>
(注意:最好将 JavaScript 与 html 分开)
2017-04-26
Id 是您赋予任何 HTML 标签的属性。例如
<div id="myFirstDiv">
。它在文档中应该是唯一的,并且通常应该是一个有意义的名称。
“div”是一个标签名称,因此您可以使用
getElementsByTagName("div");
获取示例中的所有 div,然后循环遍历它们。
bbsimonbb
2017-04-26