简体   繁体   English

我正在尝试从数组 object 的这个 for 循环中显示我的图像

[英]I am trying to get my image to display from this for loop from the array object

I am trying to get the links in the array objects to display when the loop goes through but they appear as broken links.我试图让数组对象中的链接在循环通过时显示,但它们显示为断开的链接。 broken link code断开的链接代码

<p id= "tracks"> </p>
<div id = "images"> </div>
<script>

let songs = [
  {
    title: "Getting Away with It (All Messed Up)",
    artist: "James",
    album: "Pleased to Meet You",
    year: 2001,
    art: "https://upload.wikimedia.org/wikipedia/en/2/2a/JamesPleasedToMeetYou.jpg"
  },
  {
    title: "Renaissance Affair",
    artist: "Hooverphonic",
    album: "Blue Wonder Power Milk",
    year: 1998,
    art: "https://upload.wikimedia.org/wikipedia/en/1/17/Hooverphonic-Blue_Wonder_Power_Milk.jpg"
  },
  {
    title: "White Nights",
    artist: "Oh Land",
    album: "Oh Land",
    year: 2011,
    art: "https://upload.wikimedia.org/wikipedia/en/6/68/Oh_Land_%28album%29.png"
  }
]
  // Javascript Code here
 element_p = document.getElementById("tracks")
 //alert (element_p.innerHTML); 
 let text = "";

 for (let data of songs) {
  let new_paragraph= document.createElement ('p');
 new_paragraph.innerHTML = 'Title: '+ data.title + " <br> Album: "+ data.album+ ' <br> Artist: ' + data.artist + "<br> Year: "+ data.year
  element_p.appendChild(new_paragraph)
 }
element_div = document.getElementById ("images")
let image = "";

for (let photo of songs){
 let img_node = document.createElement ('IMG');
 img_node.setAttribute('src', "data.art");
 document.getElementById("images").appendChild (img_node);
} 

What am I doing wrong?我究竟做错了什么? I tried two different ways and this way is the only way at least the broken links show up.我尝试了两种不同的方法,这种方法是至少显示损坏链接的唯一方法。 Any help or insight is appreciated.任何帮助或见解表示赞赏。

Instead of 'data.art' you have to pass in the url from each photo you are passing in by using photo.art您必须使用 photo.art 从您传入的每张照片中传入 url 而不是“data.art”

You should use img_node.setAttribute('src', photo.art) .您应该使用img_node.setAttribute('src', photo.art) like below example:像下面的例子:

...
for (let photo of songs){
  let img_node = document.createElement ('img');
  img_node.setAttribute('src', photo.art);
  document.getElementById("images").appendChild(img_node);
} 

You have data.art in quotes so its treated as a string instead of an object.您将data.art放在引号中,因此将其视为字符串而不是 object。 Also, your for loop is declaring photo so you should change data.art to photo.art .此外,您的 for 循环正在声明photo ,因此您应该将data.art更改为photo.art Like this:像这样:

for (let photo of songs){
  let img_node = document.createElement ('IMG');
  img_node.setAttribute('src', photo.art);
  document.getElementById("images").appendChild (img_node);
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我试图写一个从数组创建一个简单的对象。 在我的数组中,我存储了变量: - I am trying to write a create a simple object from an array. In my array, I have variable stored: 我正在尝试从对象数组中检索数字数组 - I am trying to retrieve an array of numbers from an array of object 我正在尝试从图像数组中显示图像 - javascript - I am trying to show an image from an array of images - javascript 我正在尝试从数组内的对象中推送值 - I am trying to push values from an object inside an array 我正在尝试将对象中的一些值推送到 3 维数组中 - I am trying to push some values from an object into a 3 dimensional array 我正在尝试将 append 图像从 javascript object 数组放到我的 html 页面上 - I'm trying to append an image from a javascript object Array onto my html page 因此,我试图使用for循环从数组中获取一组项目并将其显示到上下文菜单子菜单中,但是以某种方式,我无法 - So I am trying to get a set of items from an array using a for loop and displaying them into a context menu sub menu, but somehow I am not able to 我正在尝试从 2 个数组中检索结果 - I am trying to retrieve result from 2 array 数组有 10 个代表球员的对象,我试图循环显示 Vue.js 中第 1 队的 5 名球员。 我做对了吗? - Array has 10 objects representing players and I'm trying to loop over and display the 5 players from team 1 in Vue.js. Am I doing it right? 我正在尝试使用 images.innerHTML = “&lt;&gt;” 从数组中的 object 中提取图像,但我很难弄清楚 - I am trying to pull images from object in an array using images.innerHTML = “<>” and I am having hard time trying to figure it out
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM