所以我希望将数组中的一个图像更改为问号。这是我到目前为止所拥有的。
map({ s, c , o })
我尝试了几种解决方案,但我无法做任何工作。谢谢你的帮助:)
答案 0 :(得分:0)
如果你想重新分配这个对象,你可以这样做:
icons[0].html = "Animals/Q.png";
答案 1 :(得分:0)
我会做这样的事......
var icons = [ "Animals/Ape.png",
"Animals/Bat.png",
"Animals/Cow.png" ];
icons[1] = "Animals/Q.png";
document.write(icons[1]);
或者如果你想将网址保留为对象......
var oIcons = [{ html:"Animals/Ape.png" },
{html:"Animals/Bat.png"},
{html:"Animals/Cow.png"}];
oIcons[2].html = "Animals/Q.png";
document.write(oIcons[2].html);
所以基本上在展示回来你应该......
icons[0].html="Animals/Q.png";
答案 2 :(得分:0)
考虑您在评论中发布的代码:
<div id="containerGameplay">
<div id = "table">
<script>
for (i = 0; i < 9 ; i++) {
document.write ("<div class = 'tile'><img src='" + icons[i].html+ "'></div>");
}
</script>
</div>
您正在页面上运行内联代码,该代码会在浏览器加载后立即执行。要在以后更改图像,您需要创建对要更改的元素的引用。最简单的方法是给你的元素ID,这将改变你的代码,如下所示:
document.write("<div class='title'><img id='icon_" + i + "' src='" + icons[i].html+ "'></div>");
这将导致第一张图像(icon[0]
)被应用于ID为“icon_0”的元素,依此类推每张图片。
稍后,当您想要更改图像时,可以获得对正确元素的引用,然后将src
更改为该元素:
elem = document.getElementById('icon_0');
elem.src = "Animals/Q.png";
或者,根据我认为您最初尝试做的事情,您可以更改数组,然后设置新源(src):
icons[0].html = "Animals/Q.png";
document.getElementById('icon_0').src = icons[0].html;
它们都是相同的,但第二个例子也是将值存储在数组中。请记住,没有自动数据绑定,因此只需更改数组就不会自动更新图像元素。