jQuery初心者です。
前提・実現したいこと
jQueryにて画像のプレビューを行いたい
発生している問題・エラーメッセージ
attrを使ったがsrc属性が追加されない
html
1<img class="prev" src="xxxxxxxxxxxxxxxxxxxxx">
という出力結果で欲しいのが、
html
1<img class="prev">
となってしまう。
該当のソースコード
html
1<label class="upload-img"> 2 <div class="upload-img__inner"> 3 <input class="upload-img__inner__input" accept="image/png,image/jpeg" multiple="multiple" type="file" style="display: none;"> 4 <svg width="24" height="24" fill="#222222" fill-rule="evenodd" viewBox="0 0 24 24" aria-hidden="true" > 5 <path d="M19.3,5H16.73l-.8-1.61A.7.7,0,0,0,15.3,3H8.7a.7.7,0,0,0-.63.39L7.27,5H4.7A2.7,2.7,0,0,0,2,7.7V18.3A2.7,2.7,0,0,0,4.7,21H19.3A2.7,2.7,0,0,0,22,18.3V7.7A2.7,2.7,0,0,0,19.3,5ZM12,17.3A4.3,4.3,0,1,1,16.3,13,4.31,4.31,0,0,1,12,17.3Z"></path> 6 </svg> 7 <p class="">ドラッグアンドドロップ<br>またはクリックしてファイルをアップロード</p> 8 </div> 9 </label> 10
javascript
1$(document).on('click', '.upload-img', function() { 2 $('.upload-img').off('click'); 3 //alert("click"); 4 $('.upload-img__inner__input').off('change'); 5 $('.upload-img__inner__input').on('change', function (e) { 6 c = $('.upload-img__inner__input').val().length; 7 if(c==0){ 8 return; 9 } 10 let list_item = `<li class="horizontal-img-list__item"> 11 <img class="prev"> 12 </li>` 13 14 let reader = new FileReader(); 15 reader.readAsDataURL(e.target.files[0]); 16 reader.onload = function(e){ 17 //↓ここ srcが追加されない 18 $(list_item).find('.prev').attr('src', e.target.result); 19 } 20 $('.upload-img').prev().append(list_item); 21 }) 22}); 23
jsの、この行で要素が特定できていないのかと思うのですが、その確かめ方が分からず。
javascript
1$(list_item).find('.prev').attr('src', e.target.result);
先輩方教えて下さい。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/17 22:29