Итак, я получил этот код, чтобы вытолкнуть все элементы из массива внутри DOM.
Как заставить событие щелчка работать для каждого элемента?
Редактировать:
let items = {
item1: {
cost: 2200,
owned: 0,
type: "item type",
name: "item1",
desc: "item1 desc.",
img: "img/item1.gif"
},
item2: {
cost: 4400,
owned: 0,
type: "item type",
name: "item2",
desc: "item2 desc.",
img: "img/item2.gif"
},
};
for (let key of Object.keys(items)) {
if (items[key].owned==0) {
var el = document.createElement('div');
var domString = '<div class="item"><div class="w3 h3 bg-center contain" style="background-image:url(' + items[key].img + ')"></div><span>'+ items[key].name +'</span><span>Price: '+ items[key].cost +'</span><span>'+ items[key].desc +'</span></div>';
el.innerHTML = domString;
el.addEventListener('click', function() {
items[key].owned = 1;
console.log(items[key].name + ' ' + items[key].owned);
});
document.getElementById('shop').appendChild(el.firstChild);
}
}
Кстати, я хочу изменить одну переменную элемента при клике.Слушатель событий не работает в этом коде.