按钮不会改变颜色

desit900

我现在用JavaScript制作了30个按钮,我希望所有按钮都像第一个按钮一样为绿色,每当您单击一个按钮时,它就会变成红色并保持红色。

由于某些原因,只有第一个按钮是绿色的,每当我单击它时,它都不会变成红色。我尝试button.style.backgroundColor = "red";在函数中使用:单击时使按钮变为红色,但这不起作用

const color = ["green"];

page();

function onbuttonclicked() {
  document.body.style.backgroundColor = color[nr - 1];
}

function page() {
  document.body.style.backgroundColor = "grey";
  //style page

  createButtons(30);
}

function set_onclick(amount) {
  for (var a = 1; a < (amount + 1); a++) {
    document.getElementById("button" + a).setAttribute("onclick", "onbuttonclicked(" + a + ")");
  }
}

function createButtons(amount) {
  for (var a = 1; a < (amount + 1); a++) {

    var button = document.createElement("button");
    button.style.backgroundColor = color[a - 1];
    button.id = "button" + a;
    button.innerHTML = "button " + a;
    container.appendChild(button);
  }
  set_onclick(amount);
}
<div id="container"></div>

编辑感谢所有的答案,是不可能只单击某些按钮时才更改某些按钮吗?因此,当我单击button1时,什么也没有发生,但是只要我单击按钮3,它就会变成红色

pa

您需要nronbuttonclicked函数中作为参数传递

编辑:

OP评论:

好的,所以我需要添加一个参数。但我希望所有30个按钮均为绿色,因此当您打开页面时所有按钮均为绿色,这也与参数有关?

为此,在循环createButton中,将其更改color[a - 1]color[0]

const color = ["green"];

function onbuttonclicked(nr) {
  document.body.style.backgroundColor = color[nr - 1];
}

function page() {  
//style page
  document.body.style.backgroundColor = "grey";
  createButtons(30);
}

function set_onclick(amount, nr) {
  for (let a = 1; a < (amount + 1); a++) {
    document.getElementById(`button${a}`).setAttribute("onclick", `onbuttonclicked(${nr})`);
  }
}

function createButtons(amount) {
  for (let a = 1; a < (amount + 1); a++) {

    const button = document.createElement("button");
    button.style.backgroundColor = color[0];
    button.id = `button${a}`;
    button.innerHTML = `button ${a}`;
    container.appendChild(button);
  }
  set_onclick(amount, 1);
}

page();
<div id="container"></div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS按钮标题颜色不会改变

来自分类Dev

单击按钮时按钮的颜色不会改变吗?

来自分类Dev

Bootstrap按钮的突出显示颜色不会改变

来自分类Dev

单击时按钮边框颜色不会改变

来自分类Dev

下拉按钮不会改变

来自分类Dev

按钮图像不会改变

来自分类Dev

按钮大小不会改变

来自分类Dev

巨无霸的颜色和背景不会改变

来自分类Dev

JFrame背景颜色不会改变

来自分类Dev

熊猫风格不会改变颜色列

来自分类Dev

CSS链接不会改变颜色

来自分类Dev

巨无霸的颜色和背景不会改变

来自分类Dev

滚动时颜色不会改变

来自分类Dev

setTitleTextColor 不会改变文本的颜色

来自分类Dev

背景颜色不会改变javascript

来自分类Dev

改变 SKSpriteNode 的颜色属性不会改变它的颜色

来自分类Dev

不会改变我的按钮的 kivy 文件

来自分类Dev

自定义按钮在选择时不会改变文本颜色

来自分类Dev

选择器按钮的颜色在 android 5.1 上不会改变

来自分类Dev

UIPageViewController指示器不会改变颜色

来自分类Dev

滚动时主体背景颜色不会改变

来自分类Dev

Android材质:状态栏颜色不会改变

来自分类Dev

列表片段中的项目不会改变颜色

来自分类Dev

从父类继承的子类不会改变颜色

来自分类Dev

列表片段中的项目不会改变颜色

来自分类Dev

径向进度条不会改变颜色

来自分类Dev

滚动时主体背景颜色不会改变

来自分类Dev

Shinobi甜甜圈图标签颜色不会改变

来自分类Dev

setOpaque 为真,但 JPanel 不会改变背景颜色