Я практикуюсь с функцией JavaScript Array. Я хочу добиться отображения встроенных изображений Google внутри раздела отображения, когда пользователь нажимает кнопку «Показать мой список покупок» после ввода «банана», иначе вместо этого будут отображаться тексты.
Это мои коды.
var grocery = document.getElementById("grocery");
let showItems = document.getElementById("showItems");
const display = document.getElementById("display");
var groceryList = [];
grocery.addEventListener("keyup",function(ev){
if (ev.keyCode == 13){
groceryList.push(grocery.value);
console.info("array",groceryList);
}
});
showItems.addEventListener("click",function(){
for (var i = 0; i < groceryList.length;i++){
if (groceryList[i] == "banana"){
display.src = "https://i5.walmartimages.ca/images/Enlarge/271/747/6000191271747.jpg";
} else {
display.innerHTML += groceryList[i] + "<br/>";
}
}
}); #display {
width:100px;
height:100px;
} <div id = "controls">
<input type = "text" placeholder = "grocery items" id = "grocery"/>
<button id = "showItems">Show My Grocery List</button>
</div>
<div id = "display"></div>В настоящее время он ничего не показывает. У меня такое ощущение, что я написал неправильный синтаксис внутри функции цикла? Буду признателен за решение и советы. Спасибо.
* Facepalm ... Спасибо @CertainPerformance. Альтернативный вопрос! Что, если я хочу отображать изображения, вставляя URL-адрес встроенного изображения вместо текста? Есть ли способ сделать это?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы должны сначала удалить условие keyCode=13, а затем создать элемент img с src изображения на основе условия (groceryList[i] == "banana") для отображения изображения внутри элемента <div>, Например:
var grocery = document.getElementById("grocery");
let showItems = document.getElementById("showItems");
const display = document.getElementById("display");
var groceryList = [];
grocery.addEventListener("keyup", function(ev) {
//if (ev.keyCode == 13){
groceryList.push(grocery.value);
//console.info("array",groceryList);
//}
});
showItems.addEventListener("click", function() {
for (var i = 0; i < groceryList.length; i++) {
if (groceryList[i] == "banana") {
var source = "https://i5.walmartimages.ca/images/Enlarge/271/747/6000191271747.jpg";
var img = document.createElement("IMG"); //create img element
img.src = source; //set img src
display.appendChild(img); // display image inside <div>
} else {
display.innerHTML += groceryList[i] + "<br/>";
}
}
});<div id = "controls">
<input type = "text" placeholder = "grocery items" id = "grocery" />
<button id = "showItems">Show My Grocery List</button>
</div>
<div id = "display"></div>Спасибо, что предоставили мне другой метод.
display- этоdiv, а не изображение.