前提・実現したいこと
以下のコードのように同じマークアップが3つ並んでいる状態(実際には1つの時もあるし、複数の時もある。とりあえずループで回す必要がある状態。)で、「.js--reply-tips」をクリックして隣の要素の「.a--reply-tips」を取得し、その要素に「.js--tips-open」のクラスを付与したいのですが、エラーも何も出ていないのにクラスが付与されません。
エラーの確認はデベロッパーツールで確認していますが何も出てきていません。
他の欲しい情報等があればできる範囲で追記していきます。
宜しくお願いします。
該当のソースコード
HTML
1<div class="c--reply-tips"> 2 <button class="js--reply-tips"></button> 3 <span class="a--reply-tips"></span> 4</div> 5<div class="c--reply-tips"> 6 <button class="js--reply-tips"></button> 7 <span class="a--reply-tips"></span> 8</div> 9<div class="c--reply-tips"> 10 <button class="js--reply-tips"></button> 11 <span class="a--reply-tips"></span> 12</div>
JavaScript
1const tipsButton = Array.from(document.getElementsByClassName("js--reply-tips")); 2tipsButton.forEach(el => { 3 el.addEventListener('click', () => { 4 el.nextElementSibling.classList.add('js--tips-open'); 5 }) 6});
試したこと
console.logを使い、「el」や「el.nextElementSibling」を取得していますが正常に取得できています。