Javascript.js:6 未捕获的类型错误:无法设置未定义的属性“background”
2017-06-28
948
我需要使用 for in 为数组 colors 中的每个 div 分配一种颜色
var colors = ["#232323","#343434","#555555","#989889","#987898","#458676"]
var squares=document.querySelectorAll(".square")
for (i=0; i<squares.length; i++){
squares[i].style.background=colors[i]
}
body {
background: black;
}
.square {
float : left;
height: 30%;
width:30%;
background-color: red;
margin : 1%;
}
.container {
max-width: 600p1%
<iDOCTYPE>
<html>
<head>
<title>Proyecto Color Game</title>
<link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css">
<link rel="stylesheet" href="stylesheet.css">
</head>
<body>
<div class="container" align="center">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
<script src="Javascript.js" ></script>
</body>
</html>
3个回答
使用 devtools 查看您的 HTML 和样式。例如,如果您打开“元素”选项卡,点击
.container
,然后在右侧的检查器窗格中选择“计算”,您将看到以下内容:
高度为零。这是因为您没有为 div 提供任何会导致其高度不为零的内容。要测试这一点,只需添加一个元素样式,如
height: 500px
:
您将看到结果:
样式检查器还会显示
max-width
属性中的错误(参见黄色三角形),因此您也应该修复它。
故事的寓意:Chrome 提供了很棒的工具来调试您的代码 - CSS, HTML 和 JS。学习并使用它们。 隐藏人物 中的女主角通过阅读手册学习 FORTRAN 已有 50 年,阅读文档仍然是学习新工具的最佳方式。Devtools 为其样式检查器提供了 出色的文档 。请阅读它。
您的原始错误消息
Javascript.js:6 Uncaught TypeError: Cannot set property 'background' of undefined
我对这个错误消息感到困惑。它暗示某些 DOM 元素上不存在
style
属性,但事实绝不会如此。一定有其他事情发生了。
2017-06-28
您的代码似乎是正确的,但是由于 div 为空,因此您无法获得想要的结果。尝试在每个 div 中放入一些内容,例如
,然后尝试。
这里
是 jsfiddle,可向您展示我的意思。
wbadart
2017-06-28
您的代码中存在一些错误。
我已完成此代码片段。
对您的代码所做的更改:
- 我已将 div 设置为 100x100px,以便您的 div 具有一定大小,并且您可以看到颜色。您还可以向 div 添加内容,以便它们具有一定大小。
- 您在 .container 类的末尾缺少 }
- 我已将 .container 类的最大宽度设置为 600px
var colors = ["#232323","#343434","#555555","#989889","#987898","#458676"]
var squares=document.querySelectorAll(".square")
for (i=0; i<squares.length; i++){
squares[i].style.background=colors[i];
}
body {
background: black;
}
.square {
float : left;
height: 100px;
width: 100px;
background-color: red;
margin : 1%;
}
.container {
max-width: 600px;
}
<html>
<head>
<title>Proyecto Color Game</title>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
</head>
<body>
<div class="container" align="center">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
</body>
</html>
JV Lobo
2017-06-28