道歉不是原先具有可重現測試案例 - 我現在已經做一個對CodePen: - https://codepen.io/cssgrid/pen/971328c046d97ffd24decafa20804d3b/事件冒泡和「這個」古怪
我有一大堆的產品。當有人點擊每個產品div內的刪除按鈕時,我想從DOM中刪除該產品。 我的問題是:在列表中的最後一個產品已經被刪除,而不是在它的按鈕,用戶實際點擊:(
<div class="product">
//some code
<button class="remove-btn">Remove</button>
</div><!-- end of product div -->
var products = document.querySelectorAll(".product");
for (let i = 0; i < products.length; i++) {
products[i].addEventListener("click", function(e) {
if (e.target.classList.contains("remove-btn")) {
this.remove();
}
})
}
jQuery中也嘗試了產品:
$(".remove-btn").on("click", function() {
$(this).closest(".product").remove();
})
嘗試提供[MCVE],被刪除您的代碼不演示的最後一個項目,因爲只有一個項目。嘗試製作[現場演示](https://stackoverflow.blog/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)。 – Quentin
我不能重現該問題:http://jsbin.com/gaqabo/1/edit?html,output – Quentin
如果您單擊''''並創建一個[mcve]您的代碼工作 - 可能是因爲SO包裝代碼在onload。你應該如何 – mplungjan