您好!欢迎访问家园网-www.jy.wang!

家园网

每个节点都有nodeType属性(数字1-12),标明其类型,那这12种是什么

网络 作者:本站 点击:

DOM节点类型的nodeType属性共有12种数值(1-12),分别对应不同的节点类型,具体如下:

  1. 元素节点‌(Node.ELEMENT_NODE,值为1)
    HTML标签元素,如<div><p>,其nodeName为大写标签名,nodeValuenull

  2. 属性节点‌(Node.ATTRIBUTE_NODE,值为2)
    标签属性,如class="box",存在于元素的attributes集合中,nodeName为属性名,nodeValue为属性值

  3. 文本节点‌(Node.TEXT_NODE,值为3)
    标签内的文本内容,nodeName#textnodeValue为文本字符串

  4. CDATA节点‌(Node.CDATA_SECTION_NODE,值为4)
    用于XML的CDATA区块,保留原始文本格式

  5. 实体引用节点‌(Node.ENTITY_REFERENCE_NODE,值为5)
    XML中的实体引用,如&amp;

  6. 实体节点‌(Node.ENTITY_NODE,值为6)
    DTD中定义的实体

  7. 处理指令节点‌(Node.PROCESSING_INSTRUCTION_NODE,值为7)
    XML处理指令,如<?xml-stylesheet ...?>

  8. 注释节点‌(Node.COMMENT_NODE,值为8)
    HTML注释内容,nodeName#commentnodeValue为注释文本

  9. 文档节点‌(Node.DOCUMENT_NODE,值为9)
    整个文档的根节点(document对象)

  10. 文档类型节点‌(Node.DOCUMENT_TYPE_NODE,值为10)
    <!DOCTYPE>声明,nodeNamehtml等文档类型名

  11. 文档片段节点‌(Node.DOCUMENT_FRAGMENT_NODE,值为11)
    轻量级文档容器,用于批量操作节点

  12. DTD声明节点‌(Node.NOTATION_NODE,值为12)
    DTD中声明的符号类型


常见类型示例

// 元素节点(1)
console.log(document.body.nodeType); // 1  
// 属性节点(2)
const attr = document.body.getAttributeNode('class');
console.log(attr?.nodeType); // 2(若存在class属性)
// 文本节点(3)
const text = document.createTextNode('Hello');
console.log(text.nodeType); // 3

标签: