document.write(HTML)和document.documentElement.innerHTML=HTML有什么区别?

3

我正在使用document.write( HTML )来改变文档的HTML,它会自动重新渲染页面,这正是我想要的结果。但是,在IE浏览器上,它的行为并不相同,具体如下:

 document.open();
 document.write(<HTML>);
 document.close();

所以我尝试了以下操作:

document.documentElement.innerHTML  = <HTML>;

但是它不会渲染页面,除非我刷新它。

那么它们之间有什么区别,以及改变文档内容并重新渲染的最佳方法是什么?


2
@andrusieczko 我认为这只是一个示例占位符... - Martin Tournoij
1
一个好的答案可能需要相当长而详细。也许你应该描述一下你想要什么,而不是提出一个理论问题。你到底想如何更改文档?大概是添加一些用HTML片段指定的内容(一个真实的例子比像<HTML>这样的虚拟符号更有用),但是在哪里?如果你实际上想要更改文档,为什么要使用open()方法创建一个新文档呢? - Jukka K. Korpela
1
两个明显的区别:.write()需要doctype声明和<html>标签,而innerHTML只需要head和body;当仅更改文档的innerHTML时,页面上的所有脚本都会继续运行。 - Bergi
document.documentElement.innerHTML = <HTML> 这句话有什么意义呢?它会产生 <html><HTML></html> 的结果。 - Waxi
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接