【发布时间】:2017-04-10 10:14:00
【问题描述】:
在一个函数中,我有一个使用 createElement(); 创建 10 个图像的循环。在另一个函数中,我有另一个循环,其中包含我需要在每张图片之后添加文本的信息,但我的代码将它添加到所有 10 张图片的末尾,我需要它们位于每张相应图片之后。 这是显示文本的函数:
function displayAlbum(json){
for (var x = 0; x<json.length;x++){
var span1 = document.createElement("span");
span1.innerText = json[x].album;
console.log(json[x].album);
var display = document.getElementById("results");
display.appendChild(span1);
}
}
我不能单独设置每个图像的 id,因为我是在 js 中创建的。提前感谢您的帮助,请不要使用 jquery
for (var x = 0; x<json.length;x++){
var image = document.createElement("img");
image.id = "picture";
image.width = 100;
image.height = 100;
image.src = json[x].cover;
var display = document.getElementById("results");
display.appendChild(image);
var a = document.getElementById("artist");
var y = document.getElementById("year");
var artist = document.getElementById("artist").selectedIndex;//index of value of the switch statement
var year = document.getElementById("year").selectedIndex;//index of value of the switch statement
var realYear = y[year].text;//Value of the selected text
var realArtist = a[artist].text;//Value of the selected text
var display = document.getElementById("Results");
}
这是我的第二个循环。我希望在每张图片之后出现 displayalbum。由于代码中的其他复杂性,我无法将它们组合起来
【问题讨论】:
-
为什么不把 2 个循环变成 1 个循环?另外,请显示您现在拥有的两个循环。
-
那么你为什么不能把 2 个循环变成 1 个呢?
-
我有调用每个函数的 if 语句,我给它们一个值,但是当我一个接一个地调用它们时,值会发生变化。所以我必须将它们展开并加载第一个函数,调用第二个函数,并将相同的变量分配给不同的值
-
我试图弄清楚如何在没有 id 的情况下在屏幕上获取每个图像,因为我在循环中使用 create 元素添加了图像,并在每个图像之后显示与每个图像对应的文本
-
我想通了!
标签: javascript html arrays json loops