节点区别
节点类型 | 节点名称 | 节点值 |
---|---|---|
元素节点 | HTML标签的名称(大写) | 1 |
属性节点 | 属性的名称,如 id 、class 、name 等 | 2 |
文本节点 | 它的值永远是#text | 3 |
注释节点 | 为注释内容 | 8 |
文档节点 | 它的值永远是#document | 9 |
获取子节点
childNodes与children
其实两者的区别只在于children只获取子元素节点,而childNodes获取所有种类的子节点,包括元素节点,文本节点,注释节点等等。
同时childNodes为js官方方法(javascript参考手册含有该方法),而children为ie封装方法,不过目前ff也支持该方法,所以你可以放心大胆的用。
其他
以下方法获取的节点均包括元素节点,文本节点,注释节点等等
firstChild - 返回第一个子节点;
lastChild - 返回最后一个子节点;
parentNode - 返回的节点永远是一个元素节点,因为只有元素节点才有可能有子节点,document节点将返回null;
获取上下节点
以下方法获取的节点均包括元素节点,文本节点,注释节点等等
nextSibling - 返回目标节点的下一个兄弟节点,如果目标节点后面没有同属于一个父节点的节点,返回null;
previousSibling - 返回目标节点的前一个兄弟节点,如果目标节点前面没有同属于一个父节点的节点,返回null;
总结:因为js是原始节点操作方法,所以获取的节点都是包含各种类型,除了children方法,具体节点操作可查阅javascript参考手册