Похоже, вы пытаетесь удалить элемент относительно того, где определен класс remove_item
(который, как я предполагаю, может быть значок X или что-то в этом роде. Лучше всего просто определить идентификатор родительского сам элемент, найдя этот элемент через document.querySelector
, а затем удалив его.
Итак, вместо того, чтобы иметь что-то вроде этого
const div = document.createElement('div');
div.classList.add('cart_item');
div.setAttribute('data-item-id', item.id); // <-- now the cart_item has an id associated to it
div.innerHTML = `
<div class="shop_cart_items_wrapper">
<span class="remove_item" data-id=${item.id}><i class="fas fa-times"></i></span>
<div class="shop_cart_items">
И тогда ваша функция удаления становится
cartContent.addEventListener("click", event => {
if (event.target.classList.contains("remove_item")) {
let removeItem = event.target;
let id = removeItem.dataset.id;
cartContent.removeChild(document.querySelector(`[data-item-id=${id}`));
this.removeItem(id);
}
Или что-то в этом роде. Если вы ищете конкретный c ответ о том, как получить это относительно с помощью вашего метода, это возможно, но это просто дает вам другой способ решения проблемы.