Visit Mozilla.org

DOM:range.intersectsNode

From MDC

« Gecko DOM Reference

Contents

[edit] Summary

Obsolete

Returns a boolean indicating whether the given node intersects the range.

[edit] Syntax

bool = range.intersectsNode( referenceNode )

[edit] Parameters

referenceNode 
The Node to compare with the Range.

[edit] Example

range = document.createRange();
range.selectNode(document.getElementsByTagName("div").item(0));
bool = range.intersectsNode(document.getElementsByTagName("p").item(0));

[edit] Notes

This method is obsolete; you should instead use the W3C DOM Range methods (see compareBoundaryPoints()).

Warning: This method has been removed from Gecko 1.9 and will not exist in future versions of Firefox; you should switch to compareBoundaryPoints() as soon as possible.

The following function can be used as replacement:

function rangeIntersectsNode(range, node) {
  var nodeRange = node.ownerDocument.createRange();
  try {
    nodeRange.selectNode(node);
  }
  catch (e) {
    nodeRange.selectNodeContents(node);
  }

  return range.compareBoundaryPoints(Range.END_TO_START, nodeRange) == -1 &&
         range.compareBoundaryPoints(Range.START_TO_END, nodeRange) == 1;
}

[edit] Specification

This method is not part of a specification.