我正在创建此链接,以便仅从fetchApi请求中下载文件。
我想知道的是,单击此后如何删除该元素。
我尝试将id赋予checkMoverIsHit();
之类的元素,然后赋予诸如之类的
tempLink.id='someId'
这是代码:
let element = document.getElementById('someid')
element.parentNode.removeChild(element)
答案 0 :(得分:0)
如果您从未将元素放在DOM中,那么只有您的tempLink
常量可以引用它。当该常量超出范围时,浏览器将回收DOM元素。您无需做任何明确的事情就可以做到这一点。
问题的旁边,但是我要注意的是,如果您从未将元素放在DOM中并立即释放对它的引用,Firefox将忽略该单击,至少我最后检查了它,所以除非它是相对较新的更改,否则...您可能需要将其附加到某处,稍等片刻然后将其删除。解决方法如下:
// WORKAROUND for Firefox's ignoring the click
const tempLink = document.createElement('a');
tempLink.href = csvURL;
tempLink.setAttribute('download', selectedDocument?.fileName);
document.body.appendChild(tempLink);
tempLink.click();
setTimeout(() => {
document.body.removeChild(tempLink); // On modern browsers you can use `tempLink.remove();`
}, 100);
答案 1 :(得分:0)
如果您不会在页面上放置tempLink,则将无法删除它,因为它仅存在于文件中。如果您想将其附加到某个地方,则需要
document.querySelector(“在此处插入要追加的位置”).append(tempLink)
现在您可以使用
将其删除document.querySelector(“临时链接的ID”)。remove()
答案 2 :(得分:0)
我认为您可以将元素的样式显示更改为无。