前言:document.write、innerHTML以及DOM(document.createElement、document.createTextNode)都是用来在Web浏览器中往文档添加标记。
一些传统方法与DOM动态创建标记的区别
一、document.write(不推荐)
document对象的write()方法可以方便快捷的把字符串插入到文档里,属于HTML专有属性。
这样写并不好,因为它违背了“行为应该与表现分离”的原则,无法把行为(js)与结构分离(html文档)开来。即document.write必须写到body里面,无法与body分离开来。
二、innerHTML属性与DOM动态创建标记的区别
区别一:innerHTML属性和DOM(document.createElement、document.createTextNode)都是用来在Web浏览器中往文档添加标记。但他们之间有很大的区别,可以把innerHTML比做一个铅笔盒,那么DOM动态创建标记就是铅笔盒里面具体的橡皮、尺子以及笔等等。
举个例子:分别以innerHTML属性与DOM动态创建标记去看下面一段代码。
<div id="text">
<p>传统的一些方法与DOM节点动态创建标记的<strong>区别</strong></p>
</div>
区别二:innerHTML属性是HTML的专属属性,无法区分“插入一段HTML内容”与“替换一点HTML内容”。所以在任何时候DOM都可以替代innerHTML。虽然使用DOM造成代码偏多,但DOM更加精确和强大。具体如何使用还需要分情况而定。