前提・実現したいこと
JavaSciriptのsetAttributeとremoveAttributeを用いて、
ある要素をクリックする度に、他の要素を出現したり、消えたりさせたい。
(1−1をクリックすれば、1−1のメンバーのみが表示されるようにしたい。現在、どこをクリックしても全てのクラスのメンバーが出現する。)
発生している問題・エラーメッセージ
エラーメッセージ Uncaught TypeError: members[i].removeAtrribute is not a function at HTMLSpanElement.<anonymous> (new:97)
該当のソースコード
JavaScript
1...省略 2 3 <div class="grade-class"> 4 <span class="class-num1">1−1</span> 5 <div class="members"> 6 <%= f.collection_check_boxes :user_ids, User.where(grade:1, class_number:1).all.order("student_number ASC"), :id, :name %> 7 </div> 8 9 <span class="class-num1">1−2</span> 10 <div class="members"> 11 <%= f.collection_check_boxes :user_ids, User.where(grade:1, class_number:2).all.order("student_number ASC"), :id, :name %> 12 </div> 13 14...省略 15 16<script> 17 const c1 = document.querySelectorAll('.class-num1'); 18 const members = document.querySelectorAll('.members'); 19 20 c1.forEach(function(list) { 21 list.addEventListener('click', function(){ 22 const members = document.querySelectorAll('.members'); 23 for(const member of members) {) { 24 if (member.getAttribute('style') == 'display:block;') { 25 member.removeAttribute('style','display:block;') 26 } else { 27 member.setAttribute('style','display:block;') 28 } 29 } 30 }) 31 }) 32</script> 33
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。