1 什么是DOM
DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API。 DOM1级将HTML和XML文档形象地看作一个层次化的节点树,可以使用JavaScript来操作这个节点树,进而改变底层文档的外观和结构。
2 DOM中的节点
DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构。最基本的节点类型是Node,用于抽象地表示文档中一个独立的部分;所有其他类型都继承自
Node。
2.1 Node节点属性
每个节点都具有nodeType、nodeName、nodeValue属性。
(1)nodeType属性,用于表明节点的类型。节点类型由在Node 类型中定义的下列12个数值常量来表示:
Node.ELEMENT_NODE(1);Node.ATTRIBUTE_NODE(2);Node.TEXT_NODE(3);Node.CDATA_SECTION_NODE(4);Node.ENTITY_REFERENCE_NODE(5);Node.ENTITY_NODE(6);Node.PROCESSING_INSTRUCTION_NODE(7);MENT_NODE(8);Node.DOCUMENT_NODE(9);Node.DOCUMENT_TYPE_NODE(10);Node.DOCUMENT_FRAGMENT_NODE(11);Node.NOTATION_NODE(12)
Document类型表示整个文档,是一组分层节点的根节点。在JavaScript中, document 对象是Document 的一个实例。使用document对象,有很多种方式可以查询和取得节点。
Element节点表示文档中的所有HTML或XML元素,可以用来操作这些元素的内容和特性。
(2)nodeName和nodeValue值取决于nodeType。对于元素节点,nodeName中保存的始终都是元素的标签名,而nodeValue的值则始终为null。
2.2 节点关系
hasChildNodes()方法可以判断节点有没有子节点,在节点包含一或多个子节点的情况下返回true。
注意:
文档里几乎每一样东西都是一个节点。甚至连