节点的十二种类型
节点
在学习DOM操作时,DOM的作用就是将网页转换为一个对象模型,而这个对象模型又被称为文档树(ducument object model)。节点就是这个模型里的最小组成单位,而节点又分为十二种。
节点的基本属性
一般来说节点至少拥有nodeType、nodeName和nodeValue这三个基本属性。节点类型不同,这三个属性的值也不相同。
基本属性的作用
nodeType
nodeType属性返回节点类型的常数值。不同的类型对应不同的常数值,12种类型分别对应1到12的常数值
nodeName
nodeName属性返回节点的名称
nodeValue
nodeValue属性返回或设置当前节点的值,格式为字符串
节点类型
1.元素节点
元素节点element对应网页的HTML标签元素元素节点的节点类型nodeType值是1,节点名称nodeName值是大写的标签名,nodeValue值是null。
2.特性节点
特性节点attribute对应网页种HTML标签的属性,它只存在在元素的attribute属性中,并不是DOM文档树的一部分,特性节点的节点类型nodeType值是2,节点名称nodeName值是属性名,nodeValue值是属性值。
3.文本节点
文本节点text代表网页中的HTML标签内容。文本节点的节点类型nodeType值是3,节点名称nodeName值是'#text',nodeValue值是标签内容值。
4.CDATA节点
CDATASection类型只针对XML的文档,只出现在XML文档中。该类型节点的节点类型nodeType的值为4,节点名称nodeName的值为'#cdata-section',nodevalue的值是CDATA区域中的内容。
5.实体引用名称节点
实体是一个声明,指定了在XML中取代内容或标记而使用的名称,在实体声明中定义的名称将在 XML 中使用。 在XML中使用时,该名称称为实体引用。实体引用名称节点entry_reference的节点类型nodeType的值为5,节点名称nodeName的值为实体引用的名称,nodeValue的值为null。
6.实体名称节点
使用实体声明将名称绑定到替换内容。 实体声明是使用 <!ENTITY name "value"> 语法在文档类型定义(DTD)或XML架构中创建的。实体名称节点类型nodeType的值为6,节点名称nodeName的值为实体名称,nodeValue的值为null。
7.处理指令节点
处理指令节点ProcessingInstruction的节点类型nodeType的值为7,节点名称nodeName的值为target,nodeValue的值为entire content excluding the target。
8.注释节点
注释节点comment表示网页中的HTML注释。注释节点的节点类型nodeType的值为8,节点名称nodeName的值为'#comment',nodeValue的值为注释的内容。
9.文档节点
文档节点document表示HTML文档,也称为根节点,指向document对象。文档节点的节点类型nodeType的值为9,节点名称nodeName的值为'#document',nodeValue的值为null。
10.文档类型节点
文档类型节点DocumentType包含着与文档的doctype有关的所有信息。文档类型节点的节点类型nodeType的值为10,节点名称nodeName的值为doctype的名称,nodeValue的值为null。
11.文档片段节点
文档片段节点DocumentFragment在文档中没有对应的标记,是一种轻量级的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。该节点的节点类型nodeType的值为11,节点名称nodeName的值为'#document-fragment',nodeValue的值为null。
12.DTD声明节点
DTD声明节点notation代表DTD中声明的符号。该节点的节点类型nodeType的值为12,节点名称nodeName的值为符号名称,nodeValue的值为null
本文来自博客园,作者:前端小白银,转载请注明原文链接:https://www.cnblogs.com/forever-ljf/p/16500357.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端