节点Node概述
DOM 1.0定义了Node接口,该接口为DOM的所有节点类型定义了原始类型。JavaScript实现了这个接口,定义所有节点类型必须继承Node类型。作为Node的子类或孙类,都拥有Node的基本属性和方法。
节点类型
DOM规定:整个文档是一个文档节点,每个标签是一个元素节点,元素包含的文本是文本节点,元素的属性是一个属性节点,注释属于注释节点,如此等待。
每个节点都有一个nodeType属性,用于表明节点的类型,如下表:
DOM节点类型说明:
使用nodeType属性返回值可以判断一个节点的类型:
示例:使用节点的nodeType属性检索当前文档中包含元素的个数:
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title></head><body><h1>DOM</h1><p>DOM是<cite>Document Object Model</cite>首字母简写,中文翻译为<b>文档对象模型</b>,是<i>W3C</i>组织推荐的处理可扩展标识语言的标准编程接口。</p><ul><li>D表示文档,HTML文档结构</li><li>O表示对象,文档结构的JavaScript脚本化映射</li><li>M表示模型,脚本与结构交互的方法和行为</li></ul><script>function count(n){var num = 0;if(n.nodeType == 1)//检查是否为元素节点num++;var son = n.childNodes;//获取所有子节点for(var i = 0; i < son.length; i++){num += count(son[i]); //递归统计}return num;}alert("当前文档包含:" + count(document) + " 个元素");</script></body></html>