因此,我试图在单击按钮时显示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!');
}
答案 0 :(得分:0)
你可以试试这个:
var htmlString = "[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!";
function print (message){
var output = document.getElemenetById('id');
output.innerHTML = message;
}
print(htmlString);
我希望这会有所帮助。如果您需要更清晰,请告诉我们!
答案 1 :(得分:0)
取决于您的函数被调用的位置。
如果在html加载完成后调用document.write
。它会覆盖整个页面。 (因为在关闭html标签后附加它会导致语法错误,因此没有意义。)
答案 2 :(得分:-1)
自从你问这个问题已经两年了,我想你会知道答案,但我看到没有人正确回答: document.write()将始终覆盖所有文档。
做你要求的最好的方法是使用 .innerHTML 方法和“+ =”,例如:
document.getElementById("test").innerHTML+= "Hi!";
然后你会:
<p id="test"> Hi! </p>
备注+=
将始终保留已写入的内容。如果我们想要替换<p>
代码中的内容,我们只能使用=
。
我知道你现在肯定会知道这一点,但我希望有人能找到这个问题并且可能会得到一个很好的答案。 :)