因此,我试图在单击按钮时显示HTML,但不是在脚本标记所在的位置插入HTML,而是用本应生成的代码覆盖整个页面。经过实验,我发现像这样简单的东西
document.write("<p>" + "Hello!" + "</p>")
会简单地插入它应该插入的内容。另一方面,我尝试执行的代码替换了整个页面。
有人知道怎么解决这个问题吗?下面是一些示例代码。
function writeIFrame() {
document.write('<iframe width="500" height="300" src="https://www.youtube.com/embed/UJFdywQqovI" frameborder="0" allowfullscreen></iframe><p>Check out my YouTube channel <a href="https://www.youtube.com/channel/UCkqJM5HVjuvPA9H1VuFU5pQ">here</a> and subscribe!');
}
取决于函数的调用位置。
如果在html加载完成后调用document.write
。它会覆盖整个页面。(因为在关闭html标记后附加它会导致语法错误,所以这样做毫无意义。)
你问这个问题已经两年了,所以,我想你会知道答案,但我发现还没有人回答正确:document.write()将始终覆盖所有文档。
最好的方法是使用.innerHTML方法和"+=",例如:
document.getElementById("test").innerHTML+= "Hi!";
然后你会有:
<p id="test"> Hi! </p>
请注意,+=
将始终保留已写入的内容。如果我们想替换<p>
标签中的内容,我们必须仅使用=
。
我知道你现在肯定会知道这一点,但我希望有人能找到这个问题,也许能得到一个好的答案