Ajaxを使用して画像を表示させる方法が知りたいです。
下記のように文字でLike or UnLike
の表示はできたのですが、text
の場所を画像に変更したいのですが、どうすればいいのでしょうか?
https://icons.getbootstrap.com/icons/heart/
上記リンクの画像を入れたいと思っているのですが可能でしょうか?
textの箇所を変更すると思いますが、調べ方が分からず質問いたしました。
よろしくお願いいたします。
javascript
1 <script> 2 $('.like-form').submit(function(e){ 3 e.preventDefault() 4 5 const post_id = $(this).attr('id') 6 7 const likeText = $(`.like-btn${post_id}`).text() 8 const trim = $.trim(likeText) 9 10 const url = $(this).attr('action') 11 12 let res; 13 const likes = $(`.like-count${post_id}`).text() 14 const trimCount = parseInt(likes) 15 16 $.ajax({ 17 type: 'POST', 18 url: url, 19 data: { 20 'csrfmiddlewaretoken': $('input[name=csrfmiddlewaretoken]').val(), 21 'post_id':post_id, 22 }, 23 success: function(response) { 24 if(trim === 'Unlike') { 25 $(`.like-btn${post_id}`).text('Like') 26 res = trimCount - 1 27 } else { 28 $(`.like-btn${post_id}`).text('Unlike') 29 res = trimCount + 1 30 } 31 32 $(`.like-count${post_id}`).text(res) 33 }, 34 error: function(response) { 35 console.log('error', response) 36 } 37 }) 38 }) 39 </script>
追記
アイコン部分の処理
html
1 <div class="card-content"> 2 <form action="{% url 'app:like-post-view' %}" method="POST" class='like-form' id='{{item.id}}'> 3 {% csrf_token %} 4 <input type="hidden" name="post_id" value={{item.id}}> 5 <button type="submit" class="ui button like-btn{{item.id}}"> 6 {% if user not in item.liked.all %} 7 <i class="bi bi-heart"></i><div class="like-count{{item.id}}"></div> 8 {% else %} 9 <i class="bi bi-heart-fill like"></i><div class="like-count{{item.id}}"></div> 10 {% endif %} 11 </button> 12 </form> 13 <div class="like-count{{item.id}}">{{item.num_likes}}</div> 14 {% if item.post_user.icon %} 15 <a href="#" class="card-link" href="{% url 'app:user_detail' item.post_user %}"> 16 <img src="{{ item.post_user.icon.url }}" width="20%"> 17 {% endif %} 18 {{ item.post_user }} 19 </a> 20 </div>
回答2件
あなたの回答
tips
プレビュー