本文共 1474 字,大约阅读时间需要 4 分钟。
DOM 1.0定义了Node接口,该接口为DOM的所有节点类型定义了原始类型。JavaScript实现了这个接口,定义所有节点类型必须继承Node类型。作为Node的子类或孙类,都拥有Node的基本属性和方法。
DOM规定:整个文档是一个文档节点,每个标签是一个元素节点,元素包含的文本是文本节点,元素的属性是一个属性节点,注释属于注释节点,如此等待。
每个节点都有一个nodeType属性,用于表明节点的类型,如下表:
DOM节点类型说明:
节点类型 | 说明 | 可包含的子节点 |
---|---|---|
Document | 表示整个文档,DOM树的根节点 | Element(最多一个)、ProcessinInstruction、Comment、DocumentType |
DocumentFragment | 表示文档片段,轻量级的Document对象,仅包含部分文档 | ProcessingInstruction、Comment、Text、CSATASection、EntityReference |
DocumentType | 为文档定义的实体提供接口 | None |
ProcessingInstruction | 表示处理指令 | None |
EntityReference | 表示实体引用元素 | ProcessingInstruction、Comment、Text、CDATASection、EntityReference |
Element | 表示元素 | Text、Comment |
Attr | 表示属性 | Text、EntityReference |
Text | 表示元素或属性中的文本内容 | None |
CDATASection | 表示文档中的CDATA区段,其包含的文本不会被解析器解析 | None |
Comment | 表示注解 | Nono |
Entity | 表示实体 | ProcessingInstruction、Comment、Text、CDATASection、EntityReference |
Notation | 表示在DTD中声明的符号 | None |
使用nodeType属性返回值可以判断一个节点的类型:
节点类型 | nodeType返回值 | 常量名 |
---|---|---|
Element | 1 | ELEMENT_NODE |
Attr | 2 | ATTRIBUTE_NODE |
Text | 3 | TEXT_NODE |
CDATASection | 4 | CDATA_SECTION_NODE |
EntityReference | 5 | ENTITY_REFERENCE_NODE |
Entity | 6 | ENTITY_NODE |
ProcessingInstruction | 7 | PROCESSING_INSTRUCTION_NODE |
Comment | 8 | COMMENT_NODE |
Document | 9 | DOCUMENT_NODE |
DocumentType | 10 | DOCUMENT_TYPE_NODE |
DocumentFragment | 11 | DOCUMENT_FRAGMENT_NODE |
Notation | 12 | NOTATION_NODE |
示例:使用节点的nodeType属性检索当前文档中包含元素的个数:
DOM
DOM是Document Object Model首字母简写,中文翻译为文档对象模型,是W3C组织推荐的处理可扩展标识语言的标准编程接口。
转载地址:http://fssqb.baihongyu.com/