dom.browserrange.AbstractRange Extends
The constructor for abstract ranges. Don't call this from subclasses.

Inheritance

Constructor

goog.dom.browserrange.AbstractRange()

Instance Methods

Public Protected Private
__iterator__(opt_keys) !goog.dom.RangeIterator
Returns a RangeIterator over the contents of the range. Regardless of the direction of the range, the iterator will move in document order.
Arguments:
opt_keys : boolean=
Unused for this iterator.
Returns: !goog.dom.RangeIterator  An iterator over tags in the range.
code »
No description.
Returns: goog.dom.browserrange.AbstractRange  A clone of this range.
code »
collapse(toStart)
Collapses the range to one of its boundary points.
Arguments:
toStart : boolean
Whether to collapse to the start of the range.
code »
compareBrowserRangeEndpoints(rangethisEndpointotherEndpoint) number
Compares one endpoint of this range with the endpoint of another browser native range object.
Arguments:
range : Range | TextRange
The browser native range to compare against.
thisEndpoint : goog.dom.RangeEndpoint
The endpoint of this range to compare with.
otherEndpoint : goog.dom.RangeEndpoint
The endpoint of the other range to compare with.
Returns: number  0 if the endpoints are equal, negative if this range endpoint comes before the other range endpoint, and positive otherwise.
code »
containsNode(nodeopt_allowPartial) boolean
Tests if this range contains the given node.
Arguments:
node : Node
The node to test.
opt_allowPartial : boolean=
If not set or false, the node must be entirely contained in the selection for this function to return true.
Returns: boolean  Whether this range contains the given node.
code »
containsRange(abstractRangeopt_allowPartial) boolean
Tests if this range contains the given range.
Arguments:
abstractRange : goog.dom.browserrange.AbstractRange
The range to test.
opt_allowPartial : boolean=
If not set or false, the range must be entirely contained in the selection for this function to return true.
Returns: boolean  Whether this range contains the given range.
code »
getBrowserRange() Range | TextRange
Returns the browser native implementation of the range. Please refrain from using this function - if you find you need the range please add wrappers for the functionality you need rather than just using the native range.
Returns: Range | TextRange  The browser native range object.
code »
getContainer() Node
Returns the deepest node in the tree that contains the entire range.
Returns: Node  The deepest node that contains the entire range.
code »
getEndNode() Node
Returns the node the range ends in.
Returns: Node  The element or text node the range ends in.
code »
getEndOffset() number
Returns the offset into the node the range ends in.
Returns: number  The offset into the node the range ends in. For text nodes, this is an offset into the node value. For elements, this is an offset into the childNodes array.
code »
getEndPosition() goog.math.Coordinate
No description.
Returns: goog.math.Coordinate  The coordinate of the selection end node and offset.
code »
getHtmlFragment() string
Returns the HTML fragment this range selects. This is slow on all browsers.
Returns: string  HTML fragment of the range, does not include context containing elements.
code »
getStartNode() Node
Returns the node the range starts in.
Returns: Node  The element or text node the range starts in.
code »
getStartOffset() number
Returns the offset into the node the range starts in.
Returns: number  The offset into the node the range starts in. For text nodes, this is an offset into the node value. For elements, this is an offset into the childNodes array.
code »
getStartPosition() goog.math.Coordinate
No description.
Returns: goog.math.Coordinate  The coordinate of the selection start node and offset.
code »
getText() string
No description.
Returns: string  The text content of the range.
code »
getValidHtml() string
Returns valid HTML for this range. This is fast on IE, and semi-fast on other browsers.
Returns: string  Valid HTML of the range, including context containing elements.
code »
insertNode(nodebefore) Node
Inserts a node before (or after) the range. The range may be disrupted beyond recovery because of the way this splits nodes.
Arguments:
node : Node
The node to insert.
before : boolean
True to insert before, false to insert after.
Returns: Node  The node added to the document. This may be different than the node parameter because on IE we have to clone it.
code »
isCollapsed() boolean
Tests if the selection is collapsed - i.e. is just a caret.
Returns: boolean  Whether the range is collapsed.
code »
select(opt_reverse)
Set this range as the selection in its window.
Arguments:
opt_reverse : boolean=
Whether to select the range in reverse, if possible.
code »
surroundContents(element) Element
Surrounds the text range with the specified element (on Mozilla) or with a clone of the specified element (on IE). Returns a reference to the surrounding element if the operation was successful; returns null if the operation failed.
Arguments:
element : Element
The element with which the selection is to be surrounded.
Returns: Element  The surrounding element (same as the argument on Mozilla, but not on IE), or null if unsuccessful.
code »
surroundWithNodes(startNodeendNode)
Surrounds this range with the two given nodes. The range may be disrupted beyond recovery because of the way this splits nodes.
Arguments:
startNode : Element
The node to insert at the start.
endNode : Element
The node to insert at the end.
code »

Instance Properties

removeContents :
Removes the contents of the range from the document. As a side effect, the selection will be collapsed. The behavior of content removal is normalized across browsers. For instance, IE sometimes creates extra text nodes that a W3C browser does not. That behavior is corrected for.
Code »

Package dom.browserrange

Package Reference