javascript - 根据数组列表更改 div 背景颜色
问题描述
如何将数组中找到的背景颜色应用于类名矩形的每个 div。
<div id="rectangleWrapper">
<div id="rectangle-1">
</div>
<div id="rectangle-2">
</div>
</div>
const rectWrapDiv = document.getElementById("rectangleWrapper").children;
for (const prop of rectWrapDiv){
prop.classList.add("rectangle");
}
const bcgColor = ["red", "blue" ];
for (let i = 0; i < rectWrapDiv.length; i++){
for (let j = 0; j < bcgColor.length; j++){
rectWrapDiv[i].style.background = bcgColor[j];
console.log(bcgColor[j])
}
}
当我在控制台浏览器中显示它时,只有索引 1 被用作所有 div 的背景。
解决方案
您在 i 的每次迭代中重新初始化 j,所以如果我们遍历您的代码:
i=0
j=0
recWrapDiv[0].style.background = bcgcolor[0];
now j=1
recWarpDiv[0].style.background = bcgcolor[1];
now i=1 and j will loop through 0 and 1 again
now j=0 again
recWrapDiv[1].style.background = bcgcolor[0];
now j=1
recWrapDiv[1].style.background = bcgcolor[1];
Finished
//All elements are set to bcgcolor[1].
我会改变你的 for j 循环来实现你想要的。
推荐阅读
- mysql - 计算多个时间戳之间的差异
- node.js - 以快递方式同时发送错误状态(res.status)和消息(res.json)
- angular - 编辑模式下的角负载选择下拉值
- javascript - 在 react 之外修改 reactjs 表单输入值
- github - 深度学习聊天机器人特定索引错误列表索引超出范围
- sap-iq - 如何在 Sybase 中获取与给定字符串匹配的所有列名?
- javascript - Javascript 数组为第一个结果返回“空”
- c# - 一次创业下的不同种子
- git - 如何将隐藏文件合并到当前分支
- python - 为什么 a=[0] 的 list(x for x in a) 比 a=[] 快?