document.getElementsByClassName(“changecolor”)。style.backgroundColor无法正常工作

时间:2018-05-02 20:51:15

标签: javascript css

我不知道为什么这个特殊功能不起作用,我尝试了不同的东西,问过朋友,谷歌搜索,但我不确定为什么它根本不会工作。

我有一个创建随机颜色的功能,以及一个在按下按钮时将背景颜色更改为随机生成的颜色的功能。

这很好用:

        function randomColors() {
  return '#' + Math.floor(Math.random() * 16777215).toString(16);
}
        function randomize() {
          document.body.style.backgroundColor = randomColors();
        }
        randomize();

当我使用

时它仍能正常工作
document.getElementById("change").style.backgroundColor = randomColors();

但是我想改变身体的背景颜色,同时改变2个按钮,所以我正在使用

            function randomColors() {
  return '#' + Math.floor(Math.random() * 16777215).toString(16);
}
        function randomize() {
          document.getElementsByClassName("changecolor").style.backgroundColor = randomColors();
        }
        randomize();

身体和按钮的颜色根本不会改变。元素确实有类更改颜色。

      function randomColors() {
  return '#' + Math.floor(Math.random() * 16777215).toString(16);
}
        function randomize() {
          document.getElementsByClassName("changecolor").style.backgroundColor = randomColors();
        }
        randomize();
 <a class="twittershare" href="https://twitter.com/intent/tweet?text=Hello%20world" target="_blank"><button class="btn btn-primary changecolor"><i class="fa fa-twitter-square"></i></button></a>

编辑,感谢评论指导我解决问题。以下代码使它对我有用:

    function randomColors() {
  return '#' + Math.floor(Math.random() * 16777215).toString(16);
}
        function randomize() {
      let rcolor = document.getElementsByClassName("changecolor");
      let randomc = randomColors();

              for(let i = 0; i < rcolor.length; i++) {
                  rcolor[i].style.backgroundColor = randomc;
              }
        }
        randomize();

0 个答案:

没有答案