DOM(Document Object Model,文档对象模型)。
是表示文档(比如HTML和XML)和访问、操作构成文档各种元素的应用程序接口(API)。
DOM为Javascript操作HTML/XHTML文档内容提供了一系列可用的应用程序接口,通过这些接口,Javascript可以以树状结构的方式遍历整个HTML/XHTML文档,获取文档节点对象,读取、修改文档节点的属性,并将这些节点的属性发送给服务器,或者用服务器返回的数据更新节点属性值,从而更新文档内容。
在Ajax应用程序中,DOM是HTML/XHTML文档的惟一代理。
DOM眼中的HTML文档——树
DOM对HTML/XHTML/XML文档进行了封装,以树状结构解析HTML/XHTML/ XML文档,使Javascript能够读取和设置文档的信息。其提供了一系列的属性、方法和API,使Javascript能够遍历整个HTML/XHMTL/XML文档,精确定位到文档的某一个节点,读取节点的属性及其内容。DOM技术是学习Ajax应用的重点和难点。
用于处理XML文档的DOM元素属性
属性名 | 描述 |
childNodes | 返回当前元素所有子元素的数组 |
firstChild | 返回当前元素的第一个下级子元素 |
lastChild | 返回当前元素的最后一个子元素 |
nextSibling | 返回紧跟在当前元素后面的元素 |
noedValue | 指定表示元素值的读/写属性 |
parentNode | 返回元素的父节点 |
previousSibling | 返回紧邻当前元素之前的元素 |
用于遍历XML文档的DOM元素方法
属性名 | 描述 |
getElementById(id) (document) | 获取有指定唯一ID属性值文档中的元素 |
getElementsByTagName(name) | 返回当前元素中指定标记名的子元素的数组 |
hasChildNodes() | 返回一个布尔值,指示元素是否有子元素 |
getAttribute(name) | 返回元素的属性值,属性由name指定 |
动态创建内容时所用的W3C DOM属性和方法
属性/方法 | 描述 |
document.createElement(tagName) | 文档对象上的createElement方法可以创建由tagName指定的元素,如果以串div作为方法参数,就会生成一个div元素 |
document.createTextNode(text) | 文档对象的createTextNode方法会创建一个包含静态文本的节点 |
<element>.appendChild(childNode) | appendChild方法将指定的节点增加到当前元素的子节点列表(作为一个新的子节点)。例如,可以增加一个option元素,作为select元素的子节点 |
<element>.getAttriture(name) | 这些方法分别获得和设置元素中name属性的值 |
<element>..setAttritube(name,value) | |
<element>.insertBefore(newNode,targetNode) | 这个方法将节点newNode作为当前元素的子节点插到targetNode元素前面 |
<element>.removeAttribute(name) | 这个方法从元素中删除属性name |
<element>.removeChild(childNode) | 这个方法从元素中删除子元素childNode |
<element>.replaceChild(newNode,oldNode) | 这个方法将节点oldNode替换为节点newNode |
<element>.hasChildnodes() | 这个方法返回一个布尔值,指定元素是否有子元素 |