◆ DOM 访问关系(节点的获得):
节点的访问关系,是以属性的方式存在的。DOM的节点并不是孤立的,因此可以通过DOM节点之间的相对关系对它们进行访问。
◆ 父节点:
parentNode:调用者就是节点。一个节点只有一个父节点。调用方式就是节点.parentNode.
◆ 兄弟节点:
★ nextSibling:下一个节点(包括空文档和换行节点)。(注:IE678中指下一个元素节点(标签))
★ nextElementSibling:下一个元素节点。
下一个兄弟节点=节点.nextElementSibling || 节点.nextSibling
★ previousSibling:前一个节点(包括空文档和换行节点)。(IE678中指前一个元素节点(标签))
★ previousElementSibling:前一个元素节点。
前一个兄弟节点=节点.previousElementSibling|| 节点.previousSibling
◆ 单个子节点:
★ firstChild:调用者是父节点。第一个节点(包括空文档和换行节点)。(IE678中指第一个子元素节点(标签))
★ firstElementChild:在火狐谷歌IE9都指的第一个元素节点。
第一个子节点=父节点.firstElementChild || 父节点.firstChild
★ lastChild:调用者是父节点。最后一个节点(包括空文档和换行节点)。(IE678中指最后一个子元素节点(标签))
★ lastElementChild:最后一个元素节点。
最后一个子节点=父节点.lastElementChild|| 父节点.lastChild
◆ 所有子节点:
★ childNodes:它是标准属性,它返回指定元素的子元素集合,包括HTML节点,所有属性,文本节点。 (他还是W3C的亲儿子,火狐、谷歌等高本版会把换行也看做是子节点)
nodeType == 1 表示的是元素节点,元素就是标签
nodeType == 2 表示是属性节点
nodeType == 3 是文本节点
子节点数组 = 父节点.childNodes; 获取所有节点。
★ children:非标准属性,它返回指定元素的子元素集合。但它只返回HTML节点,甚至不返回文本节点,虽然不是标准的DOM属性,但它和innerHTML方法一样,得到了几乎所有浏览器的支持。
注:children在IE6/7/8中包含注释节点 ,在IE678中,注释节点不要写在里面。
子节点数组 = 父节点.children; 用的最多。
随意得到兄弟节点:
节点自己.parentNode.children[index];