document.write和innerHTML的区别
document.write只能重绘整个页面,innerhtml可以重绘页面的一部分。
当文档加载时调用document.write直接向页面输出内容,文档加载结束后调用document.write输出内容会重写整个页面。通常按照两种的方式使用 write() 方法:一是在使用该方在文档中输出 HTML,二是在调用该方法的的窗口之外的窗口、框架中产生新文档(务必使用close关闭文档)。
在读模式下,innerHTML属性返回与调用元素的所有子节点对应的HTML标记,在写模式下,innerHTML会根据指定的值创建新的DOM树替换调用元素原先的所有子节点。
3.两者都可动态包含外部资源如JavaScript文件
通过document.write插入<script>元素会自动执行其中的脚本;
大多数浏览器中,通过innerHTML插入<script>元素并不会执行其中的脚本。
1. ducument.write使用举例 html文档:
html:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题</title>
<script type="text/javascript" src="js.js"></script>
</head>
<body>
<p>原有内容</p>
<div id="testdiv">原有内容</div>
</body>
</html>js:
window.onload = function() {
document.write("现有内容");
}执行结果显示:document.write会将页面上的所有内容清除包括标题。
2. innerHTML使用举例
html:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题</title>
<script type="text/javascript" src="js.js"></script>
</head>
<body>
<p>原有内容</p>
<div id="testdiv">原有内容</div>
</body>
</html>js:
window.onload = function() {
var testdiv=document.getElementById('testdiv');
testdiv.innerHTML = "<p>I love <em>JavaScript</em>!</p>";
}执行结果显示:innerHTML只会重写所属元素的内容,即<div>元素中的内容。
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!