DOM(文档对象模型)是针对 HTML 和 XML 文档的 API 。DOM 描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的一部分。
Node 类型
JavaScript 中所有的节点类型都继承自 Node 的类型, 因此所有的节点都共享着相同的基本属性和方法。
1. noteType
每个节点都有一个 noteType 属性,用于表明节点的类型。节点的类型由在 Node 类型中定义的12个数值常量来表示。例如:
+ Node.ELEMENT_NODE(1);
+ Node.ATTRIBUTE_NODE(2);
+ Node.TEXT_NODE(3);
+ Node.DOCUMENT_NODE(9);
2. nodeName 和 nodeValue
这两个属性的值完全取决与节点类型。后边会看到。
3. 节点关系
节点间的关系类似于家谱图,包括childNodes、firstChild、lastChild、parentNode、nextSibling 和 previousSibling。
对于元素间的空格,可能会造成浏览器之间的行为不一致。为了弥补这一差异,添加了5个新属性,包括ChildElementCount、firstElementChild、lastElementChild、previousElementSibling 和 nextElementSibling。
4. 操作节点的方法
包括appendChild()、 insertBefore() 、replaceChile()、 removeChild()。
5. 其他方法
克隆节点的方法 cloneNode() ,接收一个布尔值,表示是否执行深度复制。
规范化文本节点 normalize(), 在一个包含两个或多个文本节点的父元素上调用 normalize() 方法,会将所有的文本节点平合成一个文本节点。
网友评论