元素节点
1 .元素节点element对应网页的html标签元素。元素节点的节点类型nodeType值是1,节点名称nodeName值是大写的标签名,nodeValue值是null.
2 .父节点指向包含该元素节点的element或文档节点。
3 .访问元素的标签名可以使用nodeName或者tagName.
4 .元素可以有任意数目的子节点和后代节点。元素的childNodes属性包含了他的所有子节点。这些子节点可以是元素,文本,注释,处理指令节点等。
特性操作
1 .hasAttribute()
2 .getAttribute()
3 .setAttribute()
4 .removeAttribute()
attributes属性
1 .是唯一一个使用attribute属性的dom节点类型。attribute包含一个namedNodeMap,与NodeLIst类似,也是一个动态的集合。
2 .方法
3 .getNameItem(name)
4 .removeNameItem(name)
5 .setNameItem(node):向列表中添加节点
6 .遍历:attributes主要用于特性遍历。再设计dom结构序列化为html字符串时,需要涉及到遍历元素特性。
属性节点
1 .属性节点attribute对应网页中html标签的属性,他只存在与元素的attribute中,并不是dom文档树的一部分。属性节点的nodeType值是2,节点名称是属性名,nodeValue值是属性值
2 .父节点parentNode是null.
3 .关于属性节点是否存在子节点,各个浏览器表现不一致。
4 .方法
5 .createAttribute()
6 .setAttributeNode()
7 .getAttributeNode()
8 .removeAttributeNode()
9 .虽然特性节点排行老二,但是其属性和方法并不常用,元素节点有对应的可替代的方法。
文本节点
1 .文本节点text代表网页中的html标签内容。文本节点的节点类型nodeType值是3,节点名称nodeName值是‘#text’,nodeValue值是标签内容值。
2 .其父节点parentNode指向包含该文本节点的元素节点,文本节点没有子节点
3 .空白文本节点:ie8浏览器不能识别空白文本节点,而其他的浏览器会识别空白文本节点
属性
1 .data:文本节点的data属性和nodeValue属性相同
2 .wholeText:将当前的Text节点和比邻的Text节点作为一个整体返回
3 .length:文本节点的length属性保存着节点字符的数目
方法
1 .createTextNode()
2 .normalize()合并相邻的文本节点。这个方法在文本节点的父节点-元素节点上调用。
3 .splitText()将一个文本节点分成两个文本节点,按照指定的位置分割nodeVaule的值。
4 .元素的文本可以看成是字符串,也可以看成是节点,除了字符串操作方法,也可以使用正则或者文本节点等方法。
CDATA节点
1 .针对xml的文档,只出现在xml文档中,表示的是CDATA区域。
注释节点
1 .comment表示网页中的html注释,注释节点的节点类型为8,节点名称值为‘#comment’,nodeValue值为注释的内容
2 .父节点可以使document,也可以是element,注释节点没有子节点。
3 .所有浏览器都识别不出来位于