1

I am trying to increase the width of a div on click. It works when I capture an element using getElementbyID. However, when I use getElementbyClassName, it generates the error: "Uncaught TypeError: Cannot read property of 'style' undefined clicked[initial]". Please help.

HTML code: Trying to increase the elements with className content on click.

<div class="content-section">
            <div class="content-side">  
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
                <div class="content" data-aos="fade-left">
                    <p></p>
                </div>
            </div>
        </div>

JS:

 var clicked=document.getElementsByClassName("content");
 var totalBoxes=clicked.length;
 var initial=0;


 while(initial<totalBoxes){
     clicked[initial].addEventListener("click", function(){
         clicked[initial].style.width="80vw";
     });
     initial++;
 }

I have applied the CSS and it looks like this without JS: plain HTML CSS look without JS I want each of those boxes to increase their width on click.

Please help!

0 Answers0