【发布时间】:2016-11-10 02:45:40
【问题描述】:
我有一个带有事件侦听器的按钮,当单击该事件侦听器时,它会将项目附加到 DOM。 我想添加一个函数,在随后的按钮点击中清除那些附加的元素。
这是我尝试过的,但不断收到“div is undefined”。
function appendStuff(data) {
for ( let i = 0; i < data.length; i++ ) {
let body = document.querySelector('body');
let div = document.createElement('div');
let id = document.createElement('h1');
div.appendChild(id)
body.appendChild(div)
}
};
button.addEventListener('click', (event) => {
clearDOM(), appendStuff()
});
function clearDOM() {
if (div.document.body) {
let removeDiv = document.getElementsByTagName("div");
document.body.removeChild(removeDiv);
}
};
我想一种解决方法是在单击后禁用该按钮。
我认为这里的问题是第一次单击按钮时 DOM 中不会出现 div 元素。这似乎是引发错误的原因。希望 If 语句能解决这个问题。
【问题讨论】:
-
能分享一下append方法吗
-
什么是
div.document.body? -
@ArunPJohny 它正在测试 document.body 中是否有 div,不是吗?
-
getElementsByTagName返回节点列表。您必须一一删除它们。
标签: javascript dom