所以我有一堆動態創建的 div,我必須洗掉我單擊洗掉按鈕的父元素。這是我的代碼:
function add() {
let newBook = new addBookToLibrary(`"${author.value}"`, `${title.value}`, `${pages.value} pages`);
// create a div when clicked submit
// and give it class 'card', append to main-container
card = document.createElement('div');
main.appendChild(card);
card.classList.add('card');
cards = document.querySelectorAll('.card');
// append book info to card container
for (let i = 0; i < Object.keys(newBook).length; i ) {
div = document.createElement('div');
card.appendChild(div);
cardDiv = document.querySelectorAll('.card:last-child div');
cardDiv[i].textContent = Object.values(newBook)[i];
}
// create a remove button
remove = document.createElement('div');
remove.textContent = 'Remove';
remove.classList.add('remove');
card.appendChild(remove);
//event listener
remove.addEventListener('click', () => {
cards.forEach(card => card.remove());
})
};
submit.addEventListener('click', add);
當我單擊洗掉按鈕時,這會洗掉所有卡片。當我嘗試這種方法時:
remove.addEventListener('click', () => {
cards.forEach(card => this.card.remove());
它只會洗掉最后一個卡片 div。請幫我解決這個問題。
uj5u.com熱心網友回復:
你試過這個嗎?
remove.addEventListener('click', (event) => {
event.target.parentElement.remove();
}
uj5u.com熱心網友回復:
在洗掉函式內部:this.closest("div").remove();.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/490016.html
標籤:javascript
上一篇:如何修復警報邏輯的空值?
