как задать клик динамическому классу?

var product__cart = '';
var refresh = function() { for (key in goods) {
    if (parseFloat(goods[key].price) <= parseFloat(document.getElementById('price__filter__do').value) || parseFloat(document.getElementById('price__filter__from').value) >= parseFloat(goods[key].price)) {
        product__carts += 
        '<li class="product__cart">'
        +'<img class="product__img" src="' +goods[key].img +'">'
        +'<h3 class="product__name">' +goods[key].name +'<h1>'
        +'<p class="product__code"> Код товару:' +goods[key].code +'</p>'
        +'<p class ="product__down"><span class="product__pirce">' +goods[key].price +' Грн' +'</span>' +'<img id = "' +goods[key].code + '" src="'+goods[key].icon +'" class="pointer basck__add" alt=""></p>'
        +'</li>'
    }
    document.getElementById('catalog__goods').innerHTML = product__carts 
}};

$('#catalog__goods').on('click', '.add__basck', function(event){
    
   
    console.log('d')
})

Ответы (1 шт):

Автор решения: Даниил

На самом деле все просто.

То что вы используете ".on()" - Это уже верно.

К динамическим элементам так и нужно обращаться. Используя метод ".on()"

Если не работает попробуйте указать "document" или .find() вместо "$('#catalog__goods')"

var product__cart = '';
var refresh = function() { 

for (key in goods) {
    if (
        parseFloat(goods[key].price) <= parseFloat(document.getElementById('price__filter__do').value) || 
        parseFloat(document.getElementById('price__filter__from').value) >= parseFloat(goods[key].price)
    ){
        product__carts += 
        '<li class="product__cart">'
        +'<img class="product__img" src="' +goods[key].img +'">'
        +'<h3 class="product__name">' +goods[key].name +'<h1>'
        +'<p class="product__code"> Код товару:' +goods[key].code +'</p>'
        +'<p class ="product__down"><span class="product__pirce">' +goods[key].price +' Грн' +'</span>' +'<img id = "' +goods[key].code + '" src="'+goods[key].icon +'" class="pointer basck__add" alt=""></p>'
        +'</li>'
    }
    document.getElementById('catalog__goods').innerHTML = product__carts 
}};

$(document).on('click', '#catalog__goods .add__basck', function(event){
    console.log('d')
})

Вы используете и js и jquery, все это можно написать на jQuery

А так же я не обнаружил у вас в коде класс "add__basck"

→ Ссылка