前提・実現したいこと
JavaScriptを用いて、解決ボタンをクリックしたら文字が赤くなるようにしたいです。
サイトなどを参考にコードを記述したのですが、何が間違っているのか分からないです。
(4行目でエラーが出ているとは思うのですが具体的にどこがおかしいのか検討がつきません...)
【イメージ画像(Gyazo)】
https://gyazo.com/2d7d47b45e19a9d56eafc25199684690
発生している問題・エラーメッセージ
【console】 Uncaught TypeError: goodAnswerButton.addEventListener is not a function at good_answer.js:4
該当のソースコード
Javascript
1window.addEventListener("load", function(){ 2 const goodAnswerButton = document.getElementsByClassName('good-answer') 3 4 goodAnswerButton.addEventListener('click', function(){ 5 goodAnswerButton.removeAttribute("style", "color:red;") 6 }) 7})
Ruby
1【解決ボタンのあるページのビューファイル】 2 3<div class="comment"> 4 <div class="comment-box"> 5 <%= form_with model:@response,url:comment_responses_path(@comment),local: true do |f| %> 6 <%= f.text_area :response_text, placeholder: "質問する", class: "comment-text" %> 7 <%# <%= hidden_field_tag :comment_id,@comment.id %> 8 <p class="comment-warn"> 9 <p>他の生徒の質問で回答できる場合には積極的に回答してください!</p> 10 </p> 11 <br> 12 <%= f.submit "質問する",class: "comment-btn"%> 13 <div class="back-to-top2"><%=link_to '戻る', root_path %></div> 14 <% end %> 15 </div> 16 17<div class="comment-box2"> 18 <h4 class="comment-list"><質問一覧></h4> 19 <% if @responses %> 20 <% @responses.each do |response| %> 21 <div class="comment-content2"> 22 <% if current_user.genre == "教員" %> 23 <p> 24 <strong><%= link_to response.user.name, "#", class: "comment-nickname" %></strong> 25 </p> 26 <% elsif current_user.genre == "生徒" %> 27 <strong class= "comment-nickname">匿名</strong> 28 <% end %> 29 <p class="comment-texts"> 30 <%= response.response_text %> 31 </p> 32 33 <ul class="comment-time"> 34 <p class="time"><%= response.created_at.to_s(:datetime_jp) %></p> 35 <p class="time"><%= response.created_at.to_s(:datetime_jp2) %></p> 36 </ul> 37 <% if current_user.genre == "教員" %> 38 <p> 39 <%= link_to comment_response_path(@comment.id, response.id), method: :delete, class: "delete-button" do %> 40 <i class="fas fa-trash"></i> 41 <% end %> 42 </p> 43 <% elsif user_signed_in? && current_user.id == response.user_id %> 44 <p> 45 <%= link_to comment_response_path(@comment.id, response.id), method: :delete, class: "delete-button" do %> 46 <i class="fas fa-trash"></i> 47 <% end %> 48 </p> 49 <% end %> 50 <p> 51 <div class="good-answer" id="text-button"><p id="text">解決</p></div> 52 </div> 53 <% end %> 54 <% end %> 55 </div> 56 </div>
Javascript
1【application.js】 2 3require("@rails/ujs").start() 4// require("turbolinks").start() 5require("@rails/activestorage").start() 6require("channels") 7require("../good_answer") 8//= require jquery 9//= require_tree . 10
回答2件
あなたの回答
tips
プレビュー