1:什么是HTML DOM
HTML 文档对象模型(HTML Document Object Model)定义了访问和处理 HTML 文档的标准方法。
2:HTML DOM组成
DOM 被分为不同的部分(核心、XML及HTML)和级别(DOM Level 1/2/3):
Core DOM
定义了一套标准的针对任何结构化文档的对象
对应的WEBKIT源码中路径:WebKit\WebCore\dom
XML DOM
提供针对XML的高层的文档处理方法。
对应的WEBKIT源码中路径:WebKit\WebCore\xml
HTML DOM
提供针对HTML的高层的文档处理方法。
对应的WEBKIT源码中路径:WebKit\WebCore\html
可以用下图标示其组成:
3:HTML DOM的层次
层次结构大致可以使用下面这张图来标示:
在WEBKIT中的节点可以分为两类:
1:不能拥有子节点的节点(字符数据),那么这类节点直接派生之Node.
2:能够拥有子节点的,这类节点是派生之ContainerNode,ContainerNode其实也是派生之Node节点,只不过增加了拥有子节点的能力。
下面是两个关键函数的实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
inline const { if (!isContainerNode()) return 0 ; return toContainerNode( this )->firstChild(); } inline const { if (!isContainerNode()) return
|