文档结构和遍历
有两种查询DOM相关部分的API
1,是作为节点树的文档操作
分别有以下属性:
parentNode 父节点 针对document的应该为null
childNodes 只读的类数组对象(NodeList对象),该节点的子节点的实时表示
firstChild lastChild 该节点的子节点中的第一个和最后一个 如果没有则为null
nextSibling previoursSibling 该节点的兄弟节点中的下一个和上一个 节点的顺序反映了他们在文档中出现的顺序
2, 作为元素树的文档 (IE9+,Firefox 3.5+,Safari4+,Chrom,Opera 10+)
将文档看为Element对象树 忽略Text和Comment 节点 任何Element的parentNode总是另外一个Element
children 类似与childNodes属性 但是children 属性只包含 Element对象
firstElementChild 类似与firstchild 但只代表Element
lastElementChild 类似与lastChild 但只代表Element
nextElementSibling 类似与nextSibling 但只代表Element
previoursElementSibling 类似与previoursSibling 但只代表Element
childElementCount 子元素的数量 返回值和children.length相等
所有节点和元素都有以下属性
nodeType 节点类型 (以下为常用节点)
1 Element 节点
3 Text 节点
8 Comment 节点
9 Document 节点
11 DocumentFragment 节点
nodeValue Text节点或者Comment节点的内容
nodeName 元素的标签名 以大写的形式表示
ownerDocument 该属性指向表示整个文档的文档节点(任何节点都不能同时存在于两个或更多个文档)
这两种API之间是互通的:
当选中的是节点为元素时 便可用元素树的方法进行解决,用节点API时 一定要注意返回的nodeType 只处理我们需要处理的