document.write()覆盖整个页面
document.write() overwrites entire page
因此,我试图在单击按钮时显示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>
标签中的内容,我们必须仅使用=
。
我知道你现在肯定会知道这一点,但我希望有人能找到这个问题,也许能得到一个好的答案
相关文章:
- 在循环中分配json值时,值被覆盖
- 谷歌地图固定位置覆盖
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 只覆盖箭头键滚动事件
- 如何用更合适的内容替换document.write
- JQuery覆盖不更改单选选项
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- jQuery AJAX write to XML
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- 传单中如何在更改基层时启用/禁用覆盖层
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- HTML/CSS-用于拖放的全页面覆盖
- document.write()覆盖整个页面
- 文件Write()覆盖所有页面内容
- 如何确定 document.write() 是否会覆盖页面,即当前脚本是否异步加载
- Document.write 只覆盖页面一次
- document.write()覆盖当前的HTML内容.如何绕过这一点
- 如何在不覆盖整个页面的情况下加载文档.write
- Javascript在iframe文档.Write覆盖父文档
- Javascript document.write覆盖php页面