Cheat Sheet速查表
跳转到主要内容

DOM 范围 (Range) 速查表

本文根据 Devhints / DOM Range 翻译。代码示例及版本范围沿用原文。

HTML 快速参考 DOM createRange API.

参考资料

创建范围

var range = document.createRange()

参见: https://devdocs.io/dom/document/createrange

方法

range
  .setStart(startNode, startOffset)
  .setEnd(endNode, endOffset)

  .setStartBefore(node)
  .setStartAfter(node)
  .setEndBefore(node)
  .setEndAfter(node)

  .selectNode(node)
  .selectNodeContents(node)

参见: https://devdocs.io/dom/range

折叠

range.collapse() // to end (a single point)
range.collapse(true) // to start (a single point)
range.collapsed // true | false

操作

range.cloneContents() // copy => DocumentFragment
range.extractContents() // cut  => DocumentFragment
range.deleteContents() // delete
range.insertNode(node)

字符串

range.toString()

只读属性

range.collapsed //       => true/false
range.startContainer //  => Node
range.startOffset
range.endContainer //    => Node
range.endOffset
range.commonAncestorContainer // closest of start and end containers