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
.
rangeAncestor = range.commonAncestorContainer;
var range = document.createRange(); range.setStart(startNode,startOffset); range.setEnd(endNode,endOffset); rangeAncestor = range.commonAncestorContainer;
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. | Obsolete | Initial specification. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | Yes | Yes | 4 | 9 | 9 | Yes |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | Yes | Yes | Yes | 4 | Yes | Yes | ? |
© 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/commonAncestorContainer