关于创建节点与添加节点的问题
来源:6-5 选择练习
WHIPLASH_z
2019-03-30 17:44:29
不知道是不是课程更新了顺序变换的原因 dom听得感觉有些基础听不懂 便在网上查询了资料 可还是有疑惑的地方
我不太理解 在JS中 创建的节点不会添加到 节点树中(我所认为节点树便是js所作用的html文档?)
那此时创建的节点保存在哪个位置呢
并且为什么课程中 创建了一个article的对象节点过后 老版本的IE就可以识别HTML中的article标签了呢
关键是 创建的节点 与html文档之间的关系与联系 我不是特别清楚 想问一下老师
1回答
好帮手慕夭夭
2019-03-31
你好同学,解答如下:
js创建的节点,只要你使用js添加到页面中 ,那么它就加入到节点树了。节点树就是文档对象模型,它是在打开页面的时候生成的一个结构树,当你使用js添加了某一个节点,这个节点就被插入到节点树中,但是它不会加入到html文档中。因为html文档是你在html页面中实实在在写下的代码,使用js添加的节点是不可能自己跑了html代码中去的哦。如下:
所以节点树是一个很抽象的概念,只有页面渲染时才会把html文档中的所有标签元素生成一个节点树,只要页面打开后 执行了js代码,js添加的节点就会保存在节点树。
关于使用js创建html5标签兼容性 ,属于一个很底层的原理。对于同学现阶段,理解起来不是很容易,目前可以简单的理解为 ,如果在html中写article,那么渲染时 ,会作为一个html5标签,所以不能识别 。使用document.createElement()的方式创建新的标签 ,就像一个自定义的一个标签,所以可以在ie中识别。当然 ,只要会用这个方法就行,并不需要知道它的底层原理 ,同学在以后知识掌握的深入,有兴趣的话可以研究一下哦
创建的节点 与html文档没有什么关系 ,只有页面在浏览器中渲染生成节点树后 ,你使用js加入的节点就会变成节点树的一部分了。所以js操作的是html文档生成的节点树。
祝学习愉快 ,望采纳。
相似问题