Document Object Model :DOM的接口——DOM Core接口
2010-09-23 16:45 Register 阅读(312) 评论(0) 收藏 举报DOM的接口
- DOM Core接口
- DOM HTML接口
DOM Core接口
DOM COre接口可以归类为基础接口和扩展接口,基础接口是处理包含HTML和XML内容的文档相关部分的接口,扩充接口是处理XML特有文档结构元素所必须的接口。
DOM接口有4个顶级接口,其中DOMImplementation接口主要针对整个文档;Node接口和两个辅助接口:NodeList、NamedNodeMap用来导航和处理文档节点。其他的接口都从Node接口继承。
基础接口
- interface DOMImplementation
- DOMImplementation接口意在提供独立于任何特定文档实例的方法。DOM Level 1没有指定获得DOMImplementation 接口的方法,而是把它作为一个独立于实现的操作留下来。
- 在浏览器中,通过Document 对象的 implementation 属性获得对 DomImplementation 对象的引用。
- 在DOM Level 1中DOMImplementation只含有一个方法hasFeature()用来确定DOM中特定的接口是否可用。
- 在DOM Level 2中,添加了createDocument()和createDocumentType()来创建新文档,但仅适用于XML文档。
- interface Node
- 节点是DOM的一个基本概念,文档中的每个事物都是节点。DOM Node接口包含基本结点操作所需要的全部方法和属性。所有的节点都是从Node接口继承的。
Node接口提供的节点导航:
1. 直接导航到节点
- DOM1:
- readonly attribute: parentNode、 childNodes、 firstChild、 lastChild、 previousSibling、 nextSibling
- DOM2:
- readonly attribute:(Document)ownerDocument
2. 间接导航到节点
- DOM1:
- readonly attribute : (NodeList)childNodes、(NamedNodeMap)attributes
- DOM2
3. 导航到Node的属性
- DOM1:
- readonly attribute: nodeName、 (unsigned short)nodeType
- attribute: nodeValue
- DOM2:
- readonly attribute: namespaceURI、localName、baseURI
- attribute:prefix
4. 其他用于导航属性和方法、浏览器的私有属性和方法
- function:
- DOM1: boolean hasChildNodes();
- DOM2: boolean isSupported()、boolean hasAttributes()
- IE:attribute:text、xml
Node接口提供的节点处理
1. 创建节点
2. 更新节点
- DOM1:
- 添加节点: insertBefore()、appendChild()
- 删除节点: removeChild()
- 替换节点: replaceChild()
- 复制节点: cloneNode()
3. 更新Node的属性
- attribute:
- DOM1:nodeValue、prefix
4.其他更新文档的属性和方法、浏览器的私有属性和方法
- function:
- DOM2:void normalize()
- interface NodeList
- 节点辅助程序接口NodeList 代表一个有顺序的节点列表,节点在列表中的顺序与它们在 XML 被规定的顺序相同。
- 节点列表可保持其自身的更新。如果节点列表或文档中的某个元素被删除或添加,列表也会被自动更新。
NodeList接口提供的节点导航:
1. 直接导航到节点
- DOM1:
- function:Node item()
2.导航到NodeList的属性:
- readonly attribute:
- DOM1: (unsigned long)length;
- interface NamedNodeMap
- 节点辅助程序接口NamedNodeMap 表示一个无顺序的节点列表,可通过节点名称来访问 NamedNodeMap 中的节点。
- NamedNodeMap 可保持其自身的更新。
NodeList接口提供的节点导航:
1. 直接导航到节点
- DOM1:
- function: Node getNamedItem()、Node item()
- DOM2:
- function: Node getNamedItemNS()
- readonly attribute:
- DOM1: (unsigned long)length;
- DOM1:
- 添加节点: Node setNamedItem()
- 删除节点: Node removeNamedItem()
- DOM2:
- 添加节点: Node setNamedItemNS()
- 删除节点: Node removeNamedItemNS()
- interface Document
- 1. Document 是一棵文档树的根,可为我们提供对文档数据的最初(或最顶层)的访问入口。
- 2. 用于元素节点、文本节点、注释、处理指令等均无法存在于 document 之外,document 同样提供了创建这些对象的方法。Node 接口提供了一个 ownerDocument 属性,此属性可把它们与在其中创建它们的 Document 关联起来。
- interface DocumentFragment
- 1. DocumentFragment可以提取文档的一部分并处理它们。
- 2. DocumentFragment由零个或多个表示子树的子结点组成。
- 3. DocumentFragment除了从Node接口继承的属性和方法外,不包含任何属性和方法。
2.导航到NamedNodeMap的属性
Node接口提供的节点处理
1.更新节点
以下接口都继承自DOM Node接口。文档接口:Document ,片段接口:DocumentFragment,元素接口:Element,属性接口:Attr,字符数据接口:CharacterData,继承自CharacterData的两个接口:注释接口:Comment 、文本接口:Text。
扩展接口
Extended Core接口可以专门处理除基本Core接口之外的XML文档,当处理纯粹的HTML文档时,不会用到这些接口,这些接口是非强制实现的。
浙公网安备 33010602011771号