I have made 30 buttons in JavaScript now I want all buttons to be green like the first button and whenever you click on a button it turns and stays red.
For some reason only the first button is green and whenever I click it it won't turn red. I tried using:  button.style.backgroundColor = "red"; in a function to make the button red when clicked but this doesn't work
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>EDIT thanks for all the answers it isnt possible to only change certain buttons when you click on them right? so when i click on button1 nothing happens but whenever i click on button 3 it turn red
 
     
     
    