HTML节点有哪几种?

DOM API: 首先先说一下什么是文档对象模型,这里文档指的是HTML文档,它又是一个对象模型,这意味着它使用的是对象这样的概念来描述HTML文档。HTML文档是一个由标签嵌套而成的树形结构,因此DOM也是使用树形的对象模型来描述一个HTML文档。 DOM API 大致分为4个部分: 节点:DOM 树形结构中的节点相关 API。 事件:触发和监听事件相关 API。 Range:操作文字范围相关 API。 遍历:遍历 DOM 需要的 API。 节点:DOM 的树形结构所有的节点有统一的接口 Node,我们在编写 HTML 代码并且运行后,就会在内存中得到这样一棵 DOM 树,HTML 的写法会被转化成对应的文档模型,而我们则可以通过 JavaScript 等语言去访问这个文档模型。这里我们每天都需要用到,要重点掌握的是:Document、Element、Text 节点。DocumentFragment 也非常有用,它常常被用来高性能地批量添加节点。因为 Comment、DocumentType 和 ProcessingInstruction 很少需要运行时去修改和操作,所以有所了解即可。 Node: Node是DOM树继承关系的根节点,它定义了DOM节点在DOM树上的操作。首先,Node提供了一些属性,来表示它在DOM树中的关系:parentNode、childNodes、firstChild、nextSibling、previousSibling,从名字上可以看出,这些属性提供了前后父子关系有了这几个属性,我们可以很方便地根据相对位置获取元素。当然,Node中也提供了操作DOM树的API,主要有:appendChild、insertBefore、removeChild、replaceChild。 遍历: 通过Node的相关属性,我们可以用JavaScript遍历整个树。实际上,DOM API中还提供了NodeIterato和TreeWalker 来遍历树。比起直接用属性来遍历,NodeIterator 和 TreeWalker 提供了过滤功能,还可以把属性节点也包含在遍历之内。