簡體   English   中英

如何從 object 獲取名稱並將其分配給新創建的元素?

[英]How do I get the name from object and assign it to a new created element?

我的問題是:

  1. 如何使用 object 中的每個名稱值創建一個新的 p?
  2. img、評論等也一樣。

我很掙扎,因為我得到了所有的名字,但我不知道如何為每個索引分別創建新段落(appendData 函數)和另一個 function 它只是錯誤和重復的代碼(generateImg 函數)

 const data = { "arr": [{ "name": "Box", "reviews": 65, "img": 1 }, { "name": "Drawer", "reviews": 70, "img": 2 }, { "name": "Desk", "reviews": 20, "img": 3 }, { "name": "Chair", "reviews": 76, "img": 4 }, { "name": "Sofa", "reviews": 90, "img": 5 }] } function appendData(data) { for (var i = 0; i < data.arr.length; i++) { var p = document.createElement("p"); var obj = data.arr[i]; p.textContent = obj.name; var elem = document.getElementById('new'); elem.appendChild(p); } } function generateImg(data) { for (i = 0; i < data.arr.length; i++) { let productImage1 = document.getElementById('productImage1').src = "./img/" + data.arr[0].img + ".jpg"; let productImage2 = document.getElementById('productImage2').src = "./img/" + data.arr[1].img + ".jpg"; let productImage3 = document.getElementById('productImage3').src = "./img/" + data.arr[2].img + ".jpg"; let productImage4 = document.getElementById('productImage4').src = "./img/" + data.arr[3].img + ".jpg"; let productImage5 = document.getElementById('productImage5').src = "./img/" + data.arr[4].img + ".jpg"; } }
 <div class="row"> <div class="media"> <img id="productImage1" src="" alt="Box"> </div> </div> <div class="row"> <div class="product-title"></div> </div> <div class="row"> <div class="reviews"></div> </div> <div class="row"> <div class="media"> <img id="productImage2" src="" alt="Drawer"> </div> </div> <div class="row"> <div class="product-title"></div> </div> <div class="row"> <div class="reviews"></div> </div>

你是說像這樣? 當你對每件事都有一個 div 時,就不需要 P

 const data = { "arr": [ { "name": "Box", "reviews": 65, "img": 1 }, { "name": "Drawer", "reviews": 70, "img": 2 }, { "name": "Desk", "reviews": 20, "img": 3 }, { "name": "Chair", "reviews": 76, "img": 4 }, { "name": "Sofa", "reviews": 90, "img": 5 } ] } const html = data.arr.map(item => `<div class="row"> <div class="media"><img src=".img/${item.img}.jpg" /></div> </div> <div class="row"> <div class="product-title">${item.name}</div> </div> <div class="row"> <div class="reviews">${item.reviews}</div> </div>`) document.getElementById("container").innerHTML = html.join("")
 <div id="container"></div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM