如何使用不在所述数组中的项替换数组中的项?

时间:2018-05-06 10:46:50

标签: javascript arrays image object replace

所以我希望将数组中的一个图像更改为问号。这是我到目前为止所拥有的。

map({ s, c , o })

我尝试了几种解决方案,但我无法做任何工作。谢谢你的帮助:)

3 个答案:

答案 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;

它们都是相同的,但第二个例子也是将值存储在数组中。请记住,没有自动数据绑定,因此只需更改数组就不会自动更新图像元素。