The Range.commonAncestorContainer
read-only property returns the deepest — or furthest down the document tree — Node
that contains both boundary points of the range. This means that if Range.startContainer
and Range.endContainer
both refer to the same node, this node is the commonAncestorContainer
.
Since a Range
need not be continuous, and may also partially select nodes, this is a convenient way to find a Node
which encloses a Range
.
This property is read-only. To change the ancestor container of a Node
, consider using the various methods to set the start and end positions of the Range
.
Syntax
rangeAncestor = range.commonAncestorContainer;
Example
var range = document.createRange(); range.setStart(startNode,startOffset); range.setEnd(endNode,endOffset); rangeAncestor = range.commonAncestorContainer;
Specifications
Specification | Status | Comment |
---|---|---|
DOM The definition of 'Range.commonAncestorContainer' in that specification. |
Living Standard | No change. |
Document Object Model (DOM) Level 2 Traversal and Range Specification The definition of 'Range.commonAncestorContainer' in that specification. |
Recommendation | Initial specification. |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | 1.0 (1.7 or earlier) | 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) | 9.0 | 9.0 | (Yes) |