首页 > 解决方案 > 根据数组列表更改 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 的背景。

标签: javascripthtmlcss

解决方案


您在 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 循环来实现你想要的。


推荐阅读