##fetchメソッドで取得した複数のデータ(img, id, title)を代入するHTMLを複数個生成したい。
以下のHTML<div class="card">~~~</div>をJavascriptで複数個(今回は5個)生成し、fetchで取得した(img, id, title)をそれぞれ(id="img", id="id", id="title")に代入したいのですが、現状以下のコーディングだと、最終要素(5個目)しか取得できません。
各HTMLに各データ(img, id, title)を代入するにはどのように考えたら良いのでしょうか?
const html = "<div class="card">~~~</div>";
を書きHTML要素を5つ生成することはできはしたんですが、正しいやり方とも思えず、各要素に対応したデータを代入できずで困っています。
どなたかご享受お願いいたします。
html
1 <div id="cards"> 2 <div class="card"> 3 <div class="img__wrapper"> 4 <img src="" alt="" id="img"> 5 </div> 6 <div class="body"> 7 <p id="id"></p> 8 <p id="text"></p> 9 </div> 10 </div>
javascript
1const img = document.getElementById('img'); 2const id = document.getElementById('id'); 3const title = document.getElementById('title'); 4 5document.addEventListener("DOMContentLoaded", async function () { 6 // alert(1); 7 const res = await fetch('https://jsonplaceholder.typicode.com/photos'); 8 console.log(res); 9 const datas = await res.json(); 10 console.log(datas); 11 12 datas.forEach(function (data, index) { 13 if (data.id <= 5) { 14 img.src = data.thumbnailUrl; 15 id.textContent = data.id; 16 title.textContent = data.title; 17 } 18 }) 19})
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/02 13:37