dom 节点概览

发布于 2024-11-18 17:25:11 字数 2616 浏览 2 评论 0

DOM 文档对象模型

概念:DOM 的目的是为使用 JavaScript 操作 DOM 提供编程接口

节点类型

全部的节点类型

Node 构造函数的属性,也是节点属性 nodeType 的值

    ELEMENT_NODE----1
    ATTRIBUTE_NODE----2
    TEXT_NODE----3
    CDATA_SECTION_NODE----4
    ENTITY_REFERENCE_NODE----5
    ENTITY_NODE----6
    PROCESSING_INSTRUCTION_NODE----7
    COMMENT_NODE----8
    DOCUMENT_NODE----9
    DOCUMENT_TYPE_NODE----10
    DOCUMENT_FRAGMENT_NODE----11
    NOTATION_NODE----12
    DOCUMENT_POSITION_DISCONNECTED----1
    DOCUMENT_POSITION_PRECEDING----2
    DOCUMENT_POSITION_FOLLOWING----4
    DOCUMENT_POSITION_CONTAINS----8
    DOCUMENT_POSITION_CONTAINED_BY----16
    DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC----32

常用节点类型

    DOCUMENT_NODE ---- 9 (window.document)
    ELEMENT_NODE ---- 1 (<body> <p> 等标签元素)
    ATTRIBUTE_NODE ---- 2 (class="test")
    TEXT_BODE ---- 3 (文本节点)
    DOCUMENT_FRAGMENT_NODE ---- 11 (document.createDocumentFragment())
    DOCUMENT_TYPE_NODE ---- 10 (<!DOCUMENT html>)

节点继承链

所有节点类型都继承自 Node,并且这个继承链可能更长

    Object -> EventTarget -> Node -> Element -> HTMLElement -> HTML*Element
    Object -> EventTarget -> Node -> Attr (DOM4 弃用)
    Object -> EventTarget -> Node -> CharacterData -> Text
    Object -> EventTarget -> Node -> Document -> HTMLDocument
    Object -> EventTarget -> Node -> DocumentFragment

继承链中的每一个环节都为最终的节点类型提供了大量的属性和方法

节点属性

nodeType

  • 读写特性:只读
  • 描述:节点的类型,返回以上常量值

nodeName

  • 读写特性:只读
  • 描述:节点名字,该属性的返回值根据节点类型不同而异:
      元素节点返回标签名,与 tagName 值相同
      文本节点返回 #text
      Comment 节点返回 #comment
      Document 返回 #document
      DocumentFragment 返回 #document-fragment
    

    nodeValue

  • 读写特性:读写
  • 描述:除了 Text 和 Comment 节点以及 Attr 节点,所有节点的 nodeValue 都返回 null nodeValue 的作用就是获取 Text 和 Comment 节点的实际文本字符串,也可以通过设置 nodeValue 的值修改 这两个节点内的文本内容

innerHTML

  • 读写特性:读写
  • 描述:
    读:读取元素节点的内容(标签和文本) 作为 JavaScript 字符串
    写:设置元素节点的内容(标签将被解析为真正的 HTML 元素)。
    注意:因为 innerHTML 会调用一个沉重且高消耗的 HTML 解析器。所以慎用

outerHTML

  • 读写特性:读写
  • 描述:
    读:读取包含元素本身及其内容作为 JavaScript 字符串
    写:设置的内容将替换自身标签将被解析为真正的 HTML 元素

textContent

  • 读写特性:读写
  • 描述:
    读:获取元素节点内所有文本节点的值,包括其子元素节点的文本节点
    写:将 JavaScript 字符串创建为文本节点作为该元素的子节点(原有的所有子节点将被删除)

注意:在 文档节点(document) 或 文档类型节点(document.doctype) 调用 textContent 返回 null textContent 属性也能返回 `

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

胡大本事

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

雨幕

文章 0 评论 0

alipaysp_XIzGSod4b1

文章 0 评论 0

许强

文章 0 评论 0

别理我

文章 0 评论 0

败给现实

文章 0 评论 0

淡淡の花香

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文