这是功能:
function funct1()
{
document.getElementById("demo").innerHTML="Something";
document.write("Mexico!");
}
输出仅为:
Mexico
当我点击页面上的按钮时,我希望输出为:
Something
Mexico
答案 0 :(得分:2)
在这种情况下,document.write()
没有按照您的想法行事。它清除文档的内容,并写入Mexico!
(请参阅Quentin的答案,以获得更详细的解释原因)。如果删除此行,则可以看到第一个语句正确执行。
如果要更新第一段,还要添加另一段,则应使用以下代码:
function funct1()
{
document.getElementById("demo").innerHTML = "Something";
// Create a new <p> element, set its HTML and then append it:
var newP = document.createElement('p');
newP.innerHTML = 'Mexico!';
document.body.appendChild(newP);
}
您可以看到有效的jsFiddle here。
答案 1 :(得分:2)
设置演示的innerHTML
后,您拨打document.write
。由于此时文档处于关闭状态,因此会隐式调用document.open
删除整个现有文档(包括您刚刚分配给innerHTML
的内容) 。 然后您将墨西哥!写入新文档。
在DOM准备好之后永远不要调用document.write
(并且在任何其他时间都不要这样做)。改为使用DOM操作。