nodeName:元素的标签名,切记是 大写形式;
nodeValue : text节点或conment节点的内容;
nodeType : 节点的类型
每个节点有节点类型 - nodeType
总共有12种节点类型, 由1-12数值代表
元素节点 = 1 => Node.ELEMENT_NODE(1)
元素节点 = 1 => Node.ELEMENT_NODE(1)
属性节点 = 2 => Node.ATTRIBUTE_NODE(2)
文本节点 = 3 => Node.TEXT_NODE(3)
注释节点 = 8 => Node.COMMENT_NODE(8)
文档节点 = 9 => Node.DOCUMENT_NODE(9)
节点关系
parentNode: 该节点的父节点
Document对象的父节点是null,木有父节点
childNodes
只读的类数组对象(NodeList)对象,它是该节点的子节点的实时表示
(动态查询的结果)
children
由于IE9之前的版本与其他浏览器在处理文本节点中的空白符有差异,因此出现了children属性
这个属性是HTMLCollection的实例,只包含元素中元素的子节点
firstChild/lastChild
该节点的子节点找那个的第一个和最后一个,如果该节点没有子节
点则为null
nextSibling/previoursSibling
该节点的兄弟节点中的前一个和下一个,具有相同父节点的两个为
兄弟节点
特殊情况
对于元素之间的空格,IE9及之前版本不会返回文本节点,而其他所有浏览器都会返回文本节点
这就导致了在使用childNodes和firstChild等属性的行为不一致
为了弥补该差异性,Element Traversal规范新定义了一组属性
childElementCount: 返回子元素(不包括文本节点和注释)的个数
firstElementChild: 指向第一个子元素,firstChild的元素版
lastElementChild: 指向最后一个子元素,lastChild的元素版
previousElementSibling: 指向前一个同辈元素; previousSibling的元素版
nextElementSibling: 指向后一个同辈元素,nextSibling的元素版