Range.compareBoundaryPoints()

The Range.compareBoundaryPoints() method compares the boundary points of the Range with another one.

Syntax

compare = range.compareBoundaryPoints(how, sourceRange);

Return value

compare
A number, -1, 0, or 1, indicating whether the corresponding boundary-point of the Range is respectively before, equal to, or after the corresponding boundary-point of sourceRange.

Parameters

how
A constant describing the comparison method:
  • Range.END_TO_END compares the end boundary-point of sourceRange to the end boundary-point of Range.
  • Range.END_TO_START compares the end boundary-point of sourceRange to the start boundary-point of Range.
  • Range.START_TO_END compares the start boundary-point of sourceRange to the end boundary-point of Range.
  • Range.START_TO_START compares the start boundary-point of sourceRange to the start boundary-point of Range.

If the value of the parameter is invalid, a DOMException with a NOT_SUPPORTED_ERR code is thrown.

sourceRange 
A Range to compare boundary points with the range.

Example

var range, sourceRange, compare;
range = document.createRange();
range.selectNode(document.getElementsByTagName("div")[0]);
sourceRange = document.createRange();
sourceRange.selectNode(document.getElementsByTagName("div")[1]);
compare = range.compareBoundaryPoints(Range.START_TO_END, sourceRange);

Specifications

Specification Status Comment
DOM
The definition of 'Range.compareBoundaryPoints()' in that specification.
Living Standard No change.
Document Object Model (DOM) Level 2 Traversal and Range Specification
The definition of 'Range.compareBoundaryPoints()' in that specification.
Recommendation Initial specification.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) 1.0 (1.7 or earlier) [1] 9.0 9.0 (Yes)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) 1.0 (1.0) [1] 9.0 9.0 (Yes)

[1] Before Firefox 17, when facing an invalid value for the comparison method, an erroneous non-standard NS_ERROR_ILLEGAL_VALUE exception was raised.

See also

Document Tags and Contributors

Tags: 
Last updated by: ttencate,