for (i=0; i
所有按鈕的 onclick 共享同一組變數引用,迴圈結束時變數指向最後一組元素,導致點擊任一按鈕都嘗試移除最後一行,且第二次點擊報錯(元素已不存在)。
for (let i=0; i
removeChild(this.parentNode),無需逐一移除子元素。this 指向觸發事件的按鈕元素。fileNameList.forEach((name, i) => {
const row = document.createElement('div');
row.innerHTML = `
下載
`;
row.querySelector('button').onclick = () => td.removeChild(row);
td.appendChild(row);
});
let/IIFE/bind)。document.getElementById 查詢,直接使用建立時的變數引用。