简述Range、节点关系

本文介绍了Selection在处理文档片段中的作用,详细讲解了DOM节点的概念,包括节点类型(如ELEMENT_NODE,TEXT_NODE等),以及EventTarget接口的作用,展示了如何在DOM元素上添加和移除事件处理程序。
摘要由CSDN通过智能技术生成

我们在讨论 Selection 时, 我们发现 Selection 所操作的是 ranges区域,我们下面就去探讨一下 ranges 到底是什么

Range 接口表示一个包含节点与文本节点的一部分的文档片段

相信一些同学对节点有些不了解,什么是节点那? 节点类型又有哪些? 又有什么作用?

节点

术语节点(Node)根据不同的上下文,可以是多种不同的意思。它可能是
节点(DOM
在 DOM 的上下文中,节点(Node)是节点树中的单个点。包括文档本身、元素、文本以及注释都属于是节点。

节点(网络)
在网络中,节点是网络中的一个连接点。在物理网络中,节点通常是一个设备,如计算机或路由器。

我们目前只讨论 DOM 节点。可能有小伙伴们看到他的定义还是有些不理解,简单理解为我们看到的整个 HTML 文档就是由节点组成,每一个 div 、 注释、文本都是节点。Node 继承 EventTarget 属性

以下接口都从 Node 继承其方法和属性:

  1. Document
  2. Element,
  3. Attr,
  4. CharacterData (which Text (en-US)
  5. Comment, and CDATASection inherit)
  6. ProcessingInstruction (en-US)
  7. DocumentFragment, DocumentType

节点类型

常量描述
Node.ELEMENT_NODE1一个 元素 节点,例如

Node.ATTRIBUTE_NODE2元素 的耦合 属性。
Node.TEXT_NODE3Element 或者 Attr 中实际的 文字 (en-US)。
Node.CDATA_SECTION_NODE4一个 CDATASection,例如 <!CDATA[[ … ]]>。
Node.PROCESSING_INSTRUCTION_NODE7一个用于 XML 文档的 ProcessingInstruction (en-US) ,例如 <?xml-stylesheet ... ?> 声明。
Node.COMMENT_NODE8一个 Comment 节点。
Node.DOCUMENT_NODE9一个 Document 节点。
Node.DOCUMENT_TYPE_NODE10描述文档类型的 DocumentType 节点。例如 就是用于 HTML5 的。
Node.DOCUMENT_FRAGMENT_NODE11一个 DocumentFragment 节点

以下的常量已被弃用且不再使用
Node.ENTITY_REFERENCE_NODE(5)、Node.ENTITY_NODE(6)和 Node.NOTATION_NODE(12)

EventTarget

EventTarget 接口由可以接收事件、并且可以创建侦听器的对象实现

Element 及其子项、document 和 window 是最常见的事件目标,但其他对象也可以是事件目标。比如 XMLHttpRequest、AudioNode 和 AudioContext 等等。

许多事件目标(包括 element、document 和 window)都支持通过 onevent 特性和属性设置事件处理程序 (en-US)。

  • 方法
    • EventTarget.addEventListener()
      • 在 EventTarget 上注册特定事件类型的事件处理程序
    • EventTarget.removeEventListener()
      • EventTarget 中删除事件侦听器
    • EventTarget.dispatchEvent()
      • 将事件分派到此 EventTarge
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值