DOM(Document Object Model)
1、基本思想:把机构化文档解析成一系列的节点,再由这些节点组成一个结构树。
!!严格来说,DOM不属于JavaScript,但操作DOM是Javascript最常见的任务
2、node(节点)是DOM的最小组成单位
节点有以下六种类型:
Element--元素节点 ——(对应常数值为1)
Attribute--属性节点 ——(对应常数值为2)
Text--文本节点 ——(对应常数值为3)
Document--文档节点 ——(对应常数值为9)
DocumentType--文档类型节点 ——(对应常数值为10)
DocumentFragment--文档碎片节点 ——(对应常数值为11)
浏览器原生提供了一个node对象,以上6中类型的节点都是node对象派生的,它们都继承node的属性和方法。
Node节点的属性:
nodeName(返回节点名称),
nodeType(返回节点的常数值)
ownerDocument(返回当前结点所在的顶层文档对象,即document对象),
nextSibling(返回紧跟该节点后面第一个同级节点)
previousSibling(返回当前节点之前最近的一个同级节点),
parentNode(返回当前结点的父节点)
parentElement(返回当前节点的父Element节点)
textContent(返回当前节点和它所有后代节点的文本内容(该属性会忽略HTML标签)),
nodeValue(返回或设置当前节点的值,格式为字符串),只对text节点、comment节点、xml中CDATA有效,其他一律返回null
childNodes(返回一个nodelist集合,成员包括当前节点的所有子节点),
firstNode(返回当前结点的第一个子节点),
lastChild(返回当前节点的最后一个子节点)
baseURL(返回一个字符串,有当前网页的协议、域名和所在目录构成,表示当前网页的绝对路径)
Node节点的方法如下:
appendChild(),
hasChildNodes()
cloneNode(),
insertBefore(),
removeChild(),
replaceChild()
contains(),
compareDocumentPosition(),
isEqualNode()
normalize()