admin管理员组

文章数量:1323023

Here's my code:

var never = [1,2,3,4,7];

function please () {
  for (var i = 0; i < never.length; i++) {
    document.getElementById("more").innerHTML = "<button>" + never[i] + "</button>";
  }
}

I have a button in my HTML that invokes this function but it only creates a button for the last item (7). How can I create a different button for each one of the items in the array? Any help is appreciated.

Here's my code:

var never = [1,2,3,4,7];

function please () {
  for (var i = 0; i < never.length; i++) {
    document.getElementById("more").innerHTML = "<button>" + never[i] + "</button>";
  }
}

I have a button in my HTML that invokes this function but it only creates a button for the last item (7). How can I create a different button for each one of the items in the array? Any help is appreciated.

Share Improve this question asked Feb 25, 2018 at 19:59 mihailmulmihailmul 271 silver badge8 bronze badges 1
  • 2 You are resetting the innerHTML after each iteration. You need to add + like this document.getElementById("more").innerHTML += "<button>" + never[i] + "</button>"; – Gacci Commented Feb 25, 2018 at 20:02
Add a ment  | 

2 Answers 2

Reset to default 4

The best way is to append created buttons in container.Each by each

var never = [1,2,3,4,7];

function please () {
  var more=document.getElementById("more");
  for (var i = 0; i < never.length; i++) {
    var butt=document.createElement("button");
    butt.innerHTML=never[i];
    more.appendChild(butt);
  }
}

By appending to innerHTML instead of assigning, like

var never = [1,2,3,4,7];

function please () {
  for (var i = 0; i < never.length; i++) {
    document.getElementById("more").innerHTML += "<button>" + never[i] + "</button>";
  }
}

please();
<div id="more">
</div>

本文标签: for loopHow do I create different button for each item in an arrayJavaScriptStack Overflow