W3cubDocs

/DOM

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

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 1.0 (1.7 or earlier) [1] 9.0 9.0 (Yes)
Feature Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (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

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Range/compareBoundaryPoints