Учитывая код, который вы разместили в своем комментарии:
<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>
Вы запускаете встроенный код на своей странице, который выполняется, как только браузер загружает его. Чтобы изменить изображение позже, вам нужно создать ссылку на элемент, который вы хотите изменить. Самый простой способ сделать это - дать идентификаторы элементов, которые бы изменили ваш код следующим образом:
document.write("<div class='title'><img id='icon_" + i + "' src='" + icons[i].html+ "'></div>");
В результате первое изображение (icon[0]
) будет применено к элементу с идентификатором "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;
Они оба одинаковы, но второй пример также хранит значение в вашем массиве. Имейте в виду, что автоматическое связывание данных отсутствует, поэтому простое изменение массива не приводит к автоматическому обновлению элемента изображения.