閲覧いただき、ありがとうございます!
JS初心者のウェブデザイナーです。
表題の件につきまして、アコーディオンを素のJSで描こうとしているのですが、
コードにてaddEventListenerが動作せず原因がわからないためお聞きしました。
エラーとしては、下記のエラーが出ます。
index.html:60 Uncaught TypeError: btn.addEventListener is not a function at index.html:60
実際のコードがこちらになります。
<div class="contentsWrap"> <p class="btn">OPEN</p> <ul class="menu"> <li>menu</li> <li>menu02</li> <li>menu03</li> <li>menu04</li> <li>menu05</li> <li>menu06</li> </ul> </div> <script> const btn = document.getElementsByClassName('btn'); const menu = document.querySelector('.menu'); const menuHeight = menu.clientHeight; menu.style.height = '0px'; btn.addEventListener('click', () =>{ console.log("aaa"); if(menu.style.height === '0px'){ menu.style.height = menuHeight + 'px'; }else{ menu.style.height = '0px'; } }); </script> </body>
試したこととしましては、関係ないかとは思っていたのですが、
定数を変数にしてみたりしました。
お手すきの際にご教授いただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー