DOM是一个针对HTML和XML文档的一个API,主要描绘了一个层次化的节点树
1、Node类型。JavaScript中所有的节点类型都继承自Node类型,因此所有节点类型都共享相同的基本属性和 方法。 常用的属性以及相关要点: 1)nodeType,node.nodeType,1表示元素节点,2表示元素的属性节点,3表示文本节点 2)nodeName,元素节点的nodeName是元素标签,文本节点的nodeName是#Text,Document的nodeName是 #document 3)nodeValue,元素和Document的nodeValue都是null,文本节点的nodeValue是纯文本,属性节点的 nodeValue是属性值
节点关系:childNodes,parentNode,firstChild,lastChild,nextSibling
操作节点:appendChild,insertBefore,replaceChild,removeChild,cloneNode
Document类型,document对象是HTMLDocument(继承自Document类型)的实例, 相关特殊方法:(可以设置可以获取) 1) document.documentElement 2) document.body 3) document.doctype document.title 4) document.URL document.domain(域名) 5) document.getElementById("id") document.getElementsByTagName("标签名") document.getElementsByName()这个方法只有HTMLDocument类型才有,比如HTMLElement类型没有 6) write() writeln() open() close()
Element类型 常用标准特性:(可以设置可以获取) 1)element.id,title,lang,dir(语言的方向,从左至右ltr,从右至左rtl),className……特别的, 自定义属性用点方法失效,事件处理程序(以属性形式存在的时候)和style属性在点方法和 get/setAttribute方法上有不同 2)相对应的另一种设置或者获取特性(属性)的方法:getAttribute(),setAttribute(), removeAttribute() 3)attributes属性,是Element类型的专属属性(其他类型的节点无法使用),遍历元素可以用。 4)document.createElement()
Text类型 常用操作文本的方法: 1) appendData() 2) deleteData() 3) insertData(offset,text) offset指定位置 4) replaceData(offset,count,text) count个数 5) splitText(offset)从指定位置将文本分成两部分,返回从切的位置到剩下的位置 6) substringData(offset,count) 7) document.createTextNode()