DOM资料之节点之间的访问关系

◆ 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];

你可能感兴趣的:(DOM)