有一个写一行的函数(document.write)。
它通过setInterval()调用。
为什么setInterval 会删除所有 HTML 元素而不是向它们添加文本?
var seconds = 1;
function repeatWrite(){
document.write(seconds + " seconds left" + "<br>");
seconds++
}
setInterval(repeatWrite, 1000);
<h1>Появляющийся текст!</h1>
<p>Каждую секунду ниже должен появляться текст</p>
<p>Но почему все эти HTML элементы исчезают?</p>
document.write
和方法document.writeln
仅在加载 HTML 页面时有效。如果页面已加载,则document.write()
无法再向页面添加任何内容从技术上讲,
document.write
它可以随时调用,但是,当 HTML 已加载且浏览器已完全构建 DOM 时,文档将“关闭”。尝试向已关闭的文档添加内容会重新打开它。这将删除所有当前内容。由于此功能
document.write
,不使用上传的文档。相反,使用innerHTML
资源
document.write写入文档流,第一次调用清除整个 DOM(重新打开文档),这是正常行为。
使用其他方法。