# class Range

###

Module | khtml
Namespace | DOM
Class | Range
Inherits |

### enums

- CompareHow { START_TO_START, START_TO_END, END_TO_END, END_TO_START }

enum details

### methods

- Range ( )

  returns ctor

- Range (rootContainer)

  returns ctor

  Argument | Type | Default
  --- | --- | ---
  rootContainer | DOM.Document |

- Range (other)

  returns ctor

  Argument | Type | Default
  --- | --- | ---
  other | DOM.Range |

- Range (startContainer, startOffset, endContainer, endOffset)

  returns ctor

  Argument | Type | Default
  --- | --- | ---
  startContainer | DOM.Node |
  startOffset | long |
  endContainer | DOM.Node |
  endOffset | long |

- Range (i)

  returns ctor
  Not implemented

  Argument | Type | Default
  --- | --- | ---
  i | RangeImpl |

- boundaryPointsValid ( )

  returns bool

  Internal not part of the DOM

  Compare the boundary-points of a range.

  Return true if the startContainer is before the endContainer, or if they are equal. Return false if the startContainer is after the endContainer.

- cloneContents ( )

  returns DOM.DocumentFragment

  Duplicates the contents of a range

  Returns A DocumentFragment containing contents equivalent to those of this range.

  DOMException HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be extracted into the new DocumentFragment.

- cloneRange ( )

  returns DOM.Range

  Produces a new range whose end-points are equal to the end-points of the range.

  Returns The duplicated range.

- collapse (toStart)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  toStart | bool |

  Collapse a range onto one of its end-points

  toStart - If true, collapses the Range onto its start; if false, collapses it onto its end.

  Returns

- collapsed ( )

  returns bool

  true if the range is collapsed

- commonAncestorContainer ( )

  returns DOM.Node

  Gets the common ancestor container of the range's two end-points. Also sets it.

- compareBoundaryPoints (how, sourceRange)

  returns short

  Argument | Type | Default
  --- | --- | ---
  how | DOM::Range.CompareHow |
  sourceRange | DOM.Range |

  Compare the end-points of two ranges in a document.

  how -

  sourceRange -

  Returns -1, 0 or 1 depending on whether the corresponding end-point of the Range is before, equal to, or after the corresponding end-point of sourceRange .

  DOMException WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same document or document fragment.

- createContextualFragment (html)

  returns DOM.DocumentFragment

  Argument | Type | Default
  --- | --- | ---
  html | DOM.DOMString |

- deleteContents ( )

  returns Nothing

  Removes the contents of a range from the containing document or document fragment without returning a reference to the removed content.

  Returns

  DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of the range is read-only or any of the nodes that contain any of the content of the range are read-only.

- detach ( )

  returns Nothing

  Called to indicate that the range is no longer in use and that the implementation may relinquish any resources associated with this range. Subsequent calls to any methods or attribute getters on this range will result in a DOMException being thrown with an error code of INVALID_STATE_ERR.

- endContainer ( )

  returns DOM.Node

  Node within which the range ends

- endOffset ( )

  returns long

  Offset within the ending node of the range.

- extractContents ( )

  returns DOM.DocumentFragment

  Moves the contents of a range from the containing document or document fragment to a new DocumentFragment.

  Returns A DocumentFragment containing the extracted contents.

  DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of the range is read-only or any of the nodes which contain any of the content of the range are read-only.

  HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be extracted into the new DocumentFragment.

- handle ( )

  returns RangeImpl
  Not implemented

  Internal not part of the DOM

- insertNode (newNode)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  newNode | DOM.Node |

  Inserts a node into the document or document fragment at the start of the range.

  newNode - The node to insert at the start of the range

  Returns

  DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the start of the range is read-only.

  WRONG_DOCUMENT_ERR: Raised if newNode and the container of the start of the Range were not created from the same document.

  HIERARCHY_REQUEST_ERR: Raised if the container of the start of the Range is of a type that does not allow children of the type of newNode or if newNode is an ancestor of the container .

  RangeException INVALID_NODE_TYPE_ERR: Raised if node is an Attr, Entity, Notation, DocumentFragment, or Document node.

- isDetached ( )

  returns bool

  not part of the DOM true if the range is detached

- isNull ( )

  returns bool

- selectNode (refNode)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |

  Select a node and its contents

  refNode - The node to select.

  Returns

  RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode is an Attr, Entity, Notation or DocumentType node or if refNode is a Document, DocumentFragment, Attr, Entity, or Notation node.

- selectNodeContents (refNode)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |

  Select the contents within a node

  refNode - Node to select from

  Returns

  RangeException INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of refNode is an Attr, Entity, Notation or DocumentType node.

- setEnd (refNode, offset)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |
  offset | long |

  Sets the attributes describing the end of a range.

  refNode - The refNode value. This parameter must be different from null .

  offset - The endOffset value.

  Returns

  RangeException NULL_NODE_ERR: Raised if refNode is null .

  INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of refNode is an Attr, Entity, Notation, or DocumentType node.

- setEndAfter (refNode)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |

  Sets the end of a range to be after a node

  refNode - Range ends after refNode .

  Returns

  RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode is an Attr, Entity, Notation or DocumentType node or if refNode is a Document, DocumentFragment, Attr, Entity, or Notation node.

- setEndBefore (refNode)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |

  Sets the end position to be before a node.

  refNode - Range ends before refNode

  Returns

  RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode is an Attr, Entity, Notation, or DocumentType node or if refNode is a Document, DocumentFragment, Attr, Entity, or Notation node.

- setStart (refNode, offset)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |
  offset | long |

  Sets the attributes describing the start of the range.

  refNode - The refNode value. This parameter must be different from null .

  offset - The startOffset value.

  Returns

  RangeException NULL_NODE_ERR: Raised if refNode is null .

  INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of refNode is an Attr, Entity, Notation, or DocumentType node.

  If an offset is out-of-bounds, should it just be fixed up or should an exception be raised.

- setStartAfter (refNode)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |

  Sets the start position to be after a node

  refNode - Range starts after refNode

  Returns

  RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode is an Attr, Entity, Notation, or DocumentType node or if refNode is a Document, DocumentFragment, Attr, Entity, or Notation node.

- setStartBefore (refNode)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  refNode | DOM.Node |

  Sets the start position to be before a node

  refNode - Range starts before refNode

  Returns

  RangeException INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode is an Attr, Entity, Notation, or DocumentType node or if refNode is a Document, DocumentFragment, Attr, Entity, or Notation node.

- startContainer ( )

  returns DOM.Node

  Node within which the range begins

- startOffset ( )

  returns long

  Offset within the starting node of the range.

- surroundContents (newParent)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  newParent | DOM.Node |

  Reparents the contents of the range to the given node and inserts the node at the position of the start of the range.

  newParent - The node to surround the contents with.

  Returns

  DOMException NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of either end-point of the range is read-only.

  WRONG_DOCUMENT_ERR: Raised if newParent and the container of the start of the Range were not created from the same document.

  HIERARCHY_REQUEST_ERR: Raised if the container of the start of the Range is of a type that does not allow children of the type of newParent or if newParent is an ancestor of the container or if node would end up with a child node of a type not allowed by the type of node .

  RangeException BAD_ENDPOINTS_ERR: Raised if the range partially selects a non-text node.

  INVALID_NODE_TYPE_ERR: Raised if node is an Attr, Entity, DocumentType, Notation, Document, or DocumentFragment node.

- toHTML ( )

  returns DOM.DOMString

  Internal Not part of DOM

- toString ( )

  returns DOM.DOMString

  Returns the contents of a range as a string.

  Returns The contents of the range.

### enums - detail

- CompareHow { START_TO_START, START_TO_END, END_TO_END, END_TO_START }

  | START_TO_START | - 0 | - |
  | START_TO_END | - 1 | - |
  | END_TO_END | - 2 | - |
  | END_TO_START | - 3 | - |