javascript迭代div改变背景颜色

标签 javascript html

我想自动将每个 div 的背景颜色更改为不同的背景颜色,每个 div 应该有不同的颜色。

我不完全确定为什么我的 html 没有正确显示以及为什么我得到 [object HTMLCollection]

我的 HTML:

<div id="box">
    <h3>box</h3>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>

我使用的函数是:

bgColor(document.getElementById('box').getElementsByTagName('div'));

    function bgColor() {

      var tableCntr= document.getElementById('box');
      var tblHTML = document.getElementsByTagName('div');

      var colors = [['red','blue','green'],['orange', 'black', 'purple']]  ;

        for(var i=0;i<colors.length;i++) {

          for(var j=0;j<colors[0][0].length;j++) {
            tblHTML += "<div style='background:" + colors[i][j] + "'> </div>" ;
          }
       }
      tableCntr.innerHTML = tblHTML ;  
    }

    window.onload = bgColor;

jsfiddle

最佳答案

为什么这么复杂......

function bgColor(ID) {

  var tableCntr= document.getElementById(ID);
  var DIVs = tableCntr.getElementsByTagName('div');

  var colors = ['red','blue','green','orange', 'black', 'purple']  ;

  var colourIndex = 0;
  for(var i=0;i<DIVs.length;i++) {

     DIVs[i].setAttribute('style','background-color: '+colors[colourIndex]);
     colourIndex = (colourIndex + 1) % colors.length;
  }
}

bgColor('box');

关于javascript迭代div改变背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41240011/

相关文章:

javascript - 没有 onclick for button, div, img with IE 9

javascript - 在不影响页面其余部分的页面上显示不正确的 html

javascript - 使用 Javascript 输入数据未存储在数据库中?

javascript - 从字符串中提取数字值

javascript - 如何将对象传递给 d3-context-menu 动态菜单列表

javascript - 从 Node js 服务器中的 html 引用 javascript 文件

javascript - 单击外部或 ESC 时关闭模态窗口

javascript - 如何在vue js中使用@click inside google maps infowindow触发一个函数?

python - PyCharm:Python 字符串中的 HTML 语法检查和突出显示

css - Facebook Javascript SDK 在 Firefox 的响应式 Twitter Bootstrap 页面中导致额外的边距/填充