1
0
mirror of https://github.com/onkelbeh/cheatsheets.git synced 2026-01-14 06:42:04 +01:00
cheatsheets/dom-range.md
2020-07-05 23:13:06 +10:00

1.2 KiB

title, category, layout, intro
title category layout intro
DOM Range JavaScript 2017/sheet Quick reference to the HTML [DOM createRange API](https://devdocs.io/dom/range).

Reference

{:.-three-column}

Creating ranges

var range = document.createRange()

See: https://devdocs.io/dom/document/createrange

Methods

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

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

  .selectNode(node)
  .selectNodeContents(node)

See: https://devdocs.io/dom/range

Collapsing

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

Operations

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

String

range.toString()

Read-only attributes

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