首页 > 试题广场 >

简述document.write和 innerHTML的区别

[问答题]
简述document.write和 innerHTML的区别。
推荐
document.write只能重绘整个页面,
innerHTML可以重绘页面的一部分。
编辑于 2014-12-05 10:29:19 回复(0)
document.write是直接写入到页面的内容流,如果在写之前没有调用document.open, 浏览器会自动调用open。每次写完关闭之后重新调用该函数,会导致页面被重写。
innerHTML则是DOM页面元素的一个属性,代表该元素的html内容。你可以精确到某一个具体的元素来进行更改。如果想修改document的内容,则需要修改document.documentElement.innerElement。

innerHTML很多情况下都优于document.write,其原因在于其允许更精确的控制要刷新页面的那一个部分。
发表于 2014-12-28 18:33:35 回复(0)
document.write是直接将内容写入页面的内容刘,会导致页面全部重绘,innerHTML将内容写入某个DOM节点,不会导致页面全部重绘
发表于 2015-03-27 11:27:07 回复(0)

document.write can be used to emit markup during the parsing of the page. It cannot be used for modifying the page after it's parsed. The output of document.write goes straight into the parser as though it had been in the HTML document in the first place. So for instance:

<body> <script> document.write("<p>"); </script> hi there</p>

looks exactly the same to the browser as

<body> <p>hi there</p>

innerHTML, which is not a function but rather a property, exists on all DOM element instances, and can be used to set their content, using markup. This, along with the various DOM methods available on instances, is the primary way that dynamic web pages are done. For example:

<body> <p id="target">Hi there</p> <script> document.getElementById("target").innerHTML = "Updated by <strong>code</strong>"; </script> </body>

...changes the paragraph from saying "hi there" to saying "Updated by code".

发表于 2017-07-17 18:22:26 回复(0)
document.write是重写整个document, 写入内容是字符串的html
innerHTML是HTMLElement的属性,是一个元素的内部html内容
发表于 2015-05-24 08:13:34 回复(0)
document.write会重绘整个页面,而innerHTML是可以重绘页面的某一部分
发表于 2015-01-19 12:32:05 回复(0)
1.write是DOM方法,向文档写入HTML表达式或JavaScript代码,可列出多个参数,参数被顺序添加到文档中 ;innerHTML是DOM属性,设置或返回调用元素开始结束标签之间的HTML元素。
2.两者都可向页面输出内容,innerHTML比document.write更灵活。
当文档加载时调用document.write直接向页面输出内容,文档加载结束后调用document.write输出内容会重写整个页面。通常按照两种的方式使用 write() 方法:一是在使用该方在文档中输出 HTML,二是在调用该方法的的窗口之外的窗口、框架中产生新文档(务必使用close关闭文档)。
在读模式下,innerHTML属性返回与调用元素的所有子节点对应的HTML标记,在写模式下,innerHTML会根据指定的值创建新的DOM树替换调用元素原先的所有子节点。
3.两者都可动态包含外部资源如JavaScript文件
通过document.write插入<script>元素会自动执行其中的脚本;
大多数浏览器中,通过innerHTML插入<script>元素并不会执行其中的脚本。
发表于 2016-04-17 14:11:34 回复(0)
document.write直接写入到页面的内容流;innerHTML市DOM页面一个属性,代表该元素的html内容
发表于 2020-09-03 18:21:30 回复(0)
document.write只能重绘整个页面,
innerHTML可以重绘页面的一部分。
发表于 2016-08-28 10:15:50 回复(0)
document.write()实在页面中出入内容;如果不指定元素的话;它会覆盖掉整个页面内容
innerHTML只是修稿Dom元素的内容包含该元素下子元素结构
发表于 2015-11-30 18:14:40 回复(0)
document.write是直接写入到页面的内容流,如果在写之前没有调用document.open,浏览器会自动调用open。每次写完关闭之后重新调用该函数,会导致页面被重写。innerHTML是dom元素的一个属性,代表该元素的html内容。你可以精确到某一个具体的元素来进行更改。如果想修改document的内容,则需要修改document.documentElement.innerElement。innerHTML很多情况下都优于document.write,原因是其允许更精确的控制要刷新页面的那一个部分。
编辑于 2015-08-31 18:10:30 回复(0)
使用document.write要重新渲染整个页面。使用innerHTML只需要渲染被更改了的局部即可。
发表于 2015-08-03 11:44:12 回复(0)
方法法
发表于 2015-04-30 09:30:18 回复(0)
LYS头像 LYS
document.write直接输出在浏览器,后面继续write ,内容会一直在后面添加。
innerHTML就是获取或设置指定DOM元素(id)的内容,就是<div id="dddd"></div>之间的东西。与id挂钩
发表于 2015-04-12 14:57:39 回复(0)
ZYY头像 ZYY
这两个表现的形式是一样的。但是 document.write是javascript 中的代码。 document.write = "hello";可以直接这样写
object.innerHTML = "hello";需要有对象才能执行这个属性。
发表于 2015-03-09 15:57:29 回复(1)
write是document下的一个方法 innerHTML是属性
document.write放在事件里会覆盖整个文档
发表于 2015-01-26 14:54:21 回复(0)
document.writ是在html页面中将一些dom结构展示在页面上,innerHTML是在js文件中给某个标签赋值
发表于 2015-01-10 10:54:15 回复(0)
Azz头像 Azz
document.write 会直接写入文档流中, 如果在文档渲染完毕后调用会迫使浏览器重新渲染.

innerHtML 仅仅修改DOM 内部的内容.
发表于 2014-12-28 22:34:41 回复(0)
document.write  输出
 innerHTML在对象中输入文本  图片等
发表于 2014-12-28 20:03:20 回复(0)
document.write是在整个body里写内容
innerHTML可以在具体的某个标签内写内容
发表于 2014-12-27 21:03:01 回复(0)
document.write表示的是document文档有一个方法为write(),用来在文档中写入内容;innerHTML是DOM元素的一个属性,指代的是这个元素所包含的所有内容,可以包括文本和其他的元素节点。
发表于 2014-12-27 20:10:12 回复(0)