通过纯javascript删除Modal窗口(购物车)中的元素。

问题描述 投票:0回答:2

所以我试图用js把一些简单的模态窗口内容做成一个购物车,在我把每个项目添加到购物车后用 "x "删除它们的时候出现了一个问题,我使用了event.target,但是在那个阶段它给了我一个 "null "的错误,它在代码的最后一行。不要太严格,这是我的第一段代码:)所以每次我在购物车中插入的时候

cartItems.innerHTML += `<div class="modal-items-flex ">
<div>
<h2> Item Price: ${itemPrice} </h2>
<h2 class="underscore">Item Name: ${itemTitle} </h2>
</div>
<div class="modal-item-delete">+</div>
</div>`

let removeButton = document.querySelector(".modal-item-delete");

removeButton.onclick=function(e){                               
  e.target.parentElement.remove();
} 
javascript modal-dialog
2个回答
0
投票

我不会给每个项目附加一个新的事件监听器,而是将事件处理委托给上级,比如。

cartItems.addEventListener('click', (e) => {
  const btn = e.target.closest('.modal-item-delete');
  if (!btn) return;
  btn.parentElement.remove();
});
© www.soinside.com 2019 - 2024. All rights reserved.