-1

I have a web page and I needed to add HTML elements in a loop. But it won't add the HTML elements.

My HTML Code

const banner = document.getElementsByClassName('banner');
const blocks = document.getElementsByClassName('blocks');

for(var i=1; i < 4; i++){
  banner.innerHTML += "<div class='blocks'></div>";
}
<section>
  <h2>Coming Soon</h2>
  <div class="banner">
    <div class="blocks"></div>
  </div>
</section>

But this is not working. Please help me to fix this

Liam
  • 27,717
  • 28
  • 128
  • 190

2 Answers2

0

well document.getElementsByClassName returns an array-like object. so you should like this

    const banner = document.getElementsByClassName('banner');
    const blocks = document.getElementsByClassName('blocks');
    
    for(var i=1; i < 4; i++){
      banner[0].innerHTML += "<div class='blocks'></div>";
    }
Sato Takeru
  • 1,669
  • 4
  • 12
  • 27
-2

you can try API document.querySelector(selector)

const banner = document.querySelector('.banner');
const blocks = document.getElementsByClassName('blocks');

for(var i=1; i < 4; i++){
  banner.innerHTML += "<div class='blocks'></div>";
}
Ben
  • 84
  • 6