dom.DomHelper Extends
Create an instance of a DOM helper with a new document object.

Inheritance

Constructor

goog.dom.DomHelper(opt_document)

Parameters

opt_document : Document=
Document object to associate with this DOM helper.

Instance Methods

Public Protected Private
$(element) Element
Use goog.dom.DomHelper.prototype.getElement instead. Alias for getElement.
Arguments:
element : string | Element
Element ID or a DOM node.
Returns: Element  The element with the given ID, or the node passed in.
code »
$$(opt_tagopt_classopt_el) {length: number
Use DomHelper getElementsByTagNameAndClass. Alias for getElementsByTagNameAndClass.
Arguments:
opt_tag : ?string=
Element tag name.
opt_class : ?string=
Optional class name.
opt_el : Element=
Optional element to look in.
Returns:  {length: number  } Array-like list of elements (only a length property and numerical indices are guaranteed to exist).
code »
$dom(tagNameopt_attributesvar_args) !Element
Use goog.dom.DomHelper.prototype.createDom instead. Alias for createDom.
Arguments:
tagName : string
Tag to create.
opt_attributes : (Object | string)=
If object, then a map of name-value pairs for attributes. If a string, then this is the className of the new element.
var_args : ...goog.dom.Appendable
Further DOM nodes or strings for text nodes. If one of the var_args is an array, its children will be added as childNodes instead.
Returns: !Element  Reference to a DOM node.
code »
append(parentvar_args)
Appends a node with text or other nodes.
Arguments:
parent : !Node
The node to append nodes to.
var_args : ...goog.dom.Appendable
The things to append to the node. If this is a Node it is appended as is. If this is a string then a text node is appended. If this is an array like object then fields 0 to length - 1 are appended.
code »
appendChild(parentchild)
Appends a child to a node.
Arguments:
parent : Node
Parent.
child : Node
Child.
code »
canHaveChildren(node) boolean
Determines if the given node can contain children, intended to be used for HTML generation.
Arguments:
node : Node
The node to check.
Returns: boolean  Whether the node can contain children.
code »
compareNodeOrder(node1node2) number
Compares the document order of two nodes, returning 0 if they are the same node, a negative number if node1 is before node2, and a positive number if node2 is before node1. Note that we compare the order the tags appear in the document so in the tree text the B node is considered to be before the I node.
Arguments:
node1 : Node
The first node to compare.
node2 : Node
The second node to compare.
Returns: number  0 if the nodes are the same node, a negative number if node1 is before node2, and a positive number if node2 is before node1.
code »
contains(parentdescendant) boolean
Whether a node contains another node.
Arguments:
parent : Node
The node that should contain the other node.
descendant : Node
The node to test presence of.
Returns: boolean  Whether the parent node contains the descendent node.
code »
createDom(tagNameopt_attributesvar_args) !Element
Returns a dom node with a set of attributes. This function accepts varargs for subsequent nodes to be added. Subsequent nodes will be added to the first node as childNodes. So: createDom('div', null, createDom('p'), createDom('p')); would return a div with two child paragraphs An easy way to move all child nodes of an existing element to a new parent element is: createDom('div', null, oldElement.childNodes); which will remove all child nodes from the old element and add them as child nodes of the new DIV.
Arguments:
tagName : string
Tag to create.
opt_attributes : Object | string=
If object, then a map of name-value pairs for attributes. If a string, then this is the className of the new element.
var_args : ...goog.dom.Appendable
Further DOM nodes or strings for text nodes. If one of the var_args is an array or NodeList, its elements will be added as childNodes instead.
Returns: !Element  Reference to a DOM node.
code »
createElement(name) !Element
Creates a new element.
Arguments:
name : string
Tag name.
Returns: !Element  The new element.
code »
createTable(rowscolumnsopt_fillWithNbsp) !Element
Create a table.
Arguments:
rows : number
The number of rows in the table. Must be >= 1.
columns : number
The number of columns in the table. Must be >= 1.
opt_fillWithNbsp : boolean=
If true, fills table entries with nsbps.
Returns: !Element  The created table.
code »
createTextNode(content) !Text
Creates a new text node.
Arguments:
content : number | string
Content.
Returns: !Text  The new text node.
code »
findCommonAncestor(var_args) Node
Find the deepest common ancestor of the given nodes.
Arguments:
var_args : ...Node
The nodes to find a common ancestor of.
Returns: Node  The common ancestor of the nodes, or null if there is none. null will only be returned if two or more of the nodes are from different documents.
code »
findNode(rootp) Node | undefined
Finds the first descendant node that matches the filter function. This does a depth first search.
Arguments:
root : Node
The root of the tree to search.
p : function(Node) : boolean
The filter function.
Returns: Node | undefined  The found node or undefined if none is found.
code »
findNodes(rootp) Array.<Node>
Finds all the descendant nodes that matches the filter function. This does a depth first search.
Arguments:
root : Node
The root of the tree to search.
p : function(Node) : boolean
The filter function.
Returns: Array.<Node>  The found nodes or an empty array if none are found.
code »
flattenElement(element) Element | undefined
Flattens an element. That is, removes it and replace it with its children.
Arguments:
element : Element
The element to flatten.
Returns: Element | undefined  The original element, detached from the document tree, sans children, or undefined if the element was already not in the document.
code »
getActiveElement(opt_doc) Element
Determines the active element in the given document.
Arguments:
opt_doc : Document=
The document to look in.
Returns: Element  The active element.
code »
getAncestor(elementmatcheropt_includeNodeopt_maxSearchSteps) Node
Walks up the DOM hierarchy returning the first ancestor that passes the matcher function.
Arguments:
element : Node
The DOM node to start with.
matcher : function(Node) : boolean
A function that returns true if the passed node matches the desired criteria.
opt_includeNode : boolean=
If true, the node itself is included in the search (the first call to the matcher will pass startElement as the node to test).
opt_maxSearchSteps : number=
Maximum number of levels to search up the dom.
Returns: Node  DOM node that matched the matcher, or null if there was no match.
code »
getAncestorByClass(elementclass) Element
Walks up the DOM hierarchy returning the first ancestor that has the passed class name. If the passed element matches the specified criteria, the element itself is returned.
Arguments:
element : Node
The DOM node to start with.
class : string
The class name to match.
Returns: Element  The first ancestor that matches the passed criteria, or null if none match.
code »
getAncestorByTagNameAndClass(elementopt_tagopt_class) Element
Walks up the DOM hierarchy returning the first ancestor that has the passed tag name and/or class name. If the passed element matches the specified criteria, the element itself is returned.
Arguments:
element : Node
The DOM node to start with.
opt_tag : ?(goog.dom.TagName | string)=
The tag name to match (or null/undefined to match only based on class name).
opt_class : ?string=
The class name to match (or null/undefined to match only based on tag name).
Returns: Element  The first ancestor that matches the passed criteria, or null if no match is found.
code »
getChildren(element) !(Array | NodeList)
Returns an array containing just the element children of the given element.
Arguments:
element : Element
The element whose element children we want.
Returns: !(Array | NodeList)  An array or array-like list of just the element children of the given element.
code »
getDocument() !Document
Gets the document object being used by the dom library.
Returns: !Document  Document object.
code »
getDocumentHeight() number
Calculates the height of the document.
Returns: number  The height of the document.
code »
getDocumentScroll() !goog.math.Coordinate
Gets the document scroll distance as a coordinate object.
Returns: !goog.math.Coordinate  Object with properties 'x' and 'y'.
code »
getDocumentScrollElement() Element
Gets the document scroll element.
Returns: Element  Scrolling element.
code »
getDomHelper(opt_node) !goog.dom.DomHelper
Gets the dom helper object for the document where the element resides.
Arguments:
opt_node : Node=
If present, gets the DomHelper for this node.
Returns: !goog.dom.DomHelper  The DomHelper.
code »
getElement(element) Element
Alias for getElementById. If a DOM node is passed in then we just return that.
Arguments:
element : string | Element
Element ID or a DOM node.
Returns: Element  The element with the given ID, or the node passed in.
code »
getElementByClass(classNameopt_el) Element
Returns the first element we find matching the provided class name.
Arguments:
className : string
the name of the class to look for.
opt_el : (Element | Document)=
Optional element to look in.
Returns: Element  The first item found with the class name provided.
code »
getElementsByClass(classNameopt_el) {length: number
Returns an array of all the elements with the provided className.
Arguments:
className : string
the name of the class to look for.
opt_el : Element | Document=
Optional element to look in.
Returns:  {length: number  } The items found with the class name provided.
code »
getElementsByTagNameAndClass(opt_tagopt_classopt_el) {length: number
Looks up elements by both tag and class name, using browser native functions ( querySelectorAll, getElementsByTagName or getElementsByClassName) where possible. The returned array is a live NodeList or a static list depending on the code path taken.
Arguments:
opt_tag : ?string=
Element tag name or * for all tags.
opt_class : ?string=
Optional class name.
opt_el : (Document | Element)=
Optional element to look in.
Returns:  {length: number  } Array-like list of elements (only a length property and numerical indices are guaranteed to exist).
code »
getFirstElementChild(node) Element
Returns the first child node that is an element.
Arguments:
node : Node
The node to get the first child element of.
Returns: Element  The first child node of node that is an element.
code »
getFrameContentDocument(iframe) !Document
Cross browser function for getting the document element of an iframe.
Arguments:
iframe : Element
Iframe element.
Returns: !Document  The frame content document.
code »
getFrameContentWindow(frame) Window
Cross browser function for getting the window of a frame or iframe.
Arguments:
frame : Element
Frame element.
Returns: Window  The window associated with the given frame.
code »
getLastElementChild(node) Element
Returns the last child node that is an element.
Arguments:
node : Node
The node to get the last child element of.
Returns: Element  The last child node of node that is an element.
code »
getNextElementSibling(node) Element
Returns the first next sibling that is an element.
Arguments:
node : Node
The node to get the next sibling element of.
Returns: Element  The next sibling of node that is an element.
code »
getNextNode(node) Node
Returns the next node in source order from the given node.
Arguments:
node : Node
The node.
Returns: Node  The next node in the DOM tree, or null if this was the last node.
code »
getNodeAtOffset(parentoffsetopt_result) Node
Returns the node at a given offset in a parent node. If an object is provided for the optional third parameter, the node and the remainder of the offset will stored as properties of this object.
Arguments:
parent : Node
The parent node.
offset : number
The offset into the parent node.
opt_result : Object=
Object to be used to store the return value. The return value will be stored in the form {node: Node, remainder: number} if this object is provided.
Returns: Node  The node at the given offset.
code »
getNodeTextLength(node) number
Returns the text length of the text contained in a node, without markup. This is equivalent to the selection length if the node was selected, or the number of cursor movements to traverse the node. Images & BRs take one space. New lines are ignored.
Arguments:
node : Node
The node whose text content length is being calculated.
Returns: number  The length of node's text content.
code »
getNodeTextOffset(nodeopt_offsetParent) number
Returns the text offset of a node relative to one of its ancestors. The text length is the same as the length calculated by goog.dom.getNodeTextLength.
Arguments:
node : Node
The node whose offset is being calculated.
opt_offsetParent : Node=
Defaults to the node's owner document's body.
Returns: number  The text offset.
code »
getOuterHtml(element) string
Gets the outerHTML of a node, which islike innerHTML, except that it actually contains the HTML of the node itself.
Arguments:
element : Element
The element to get the HTML of.
Returns: string  The outerHTML of the given element.
code »
getOwnerDocument(node) !Document
Returns the owner document for a node.
Arguments:
node : Node
The node to get the document for.
Returns: !Document  The document owning the node.
code »
getParentElement(element) Element
Returns an element's parent, if it's an Element.
Arguments:
element : Element
The DOM element.
Returns: Element  The parent, or null if not an Element.
code »
getPreviousElementSibling(node) Element
Returns the first previous sibling that is an element.
Arguments:
node : Node
The node to get the previous sibling element of.
Returns: Element  The first previous sibling of node that is an element.
code »
getPreviousNode(node) Node
Returns the previous node in source order from the given node.
Arguments:
node : Node
The node.
Returns: Node  The previous node in the DOM tree, or null if this was the first node.
code »
getRequiredElement(id) !Element
Gets an element by id, asserting that the element is found. This is used when an element is expected to exist, and should fail with an assertion error if it does not (if assertions are enabled).
Arguments:
id : string
Element ID.
Returns: !Element  The element with the given ID, if it exists.
code »
getRequiredElementByClass(classNameopt_root) !Element
Ensures an element with the given className exists, and then returns the first element with the provided className.
Arguments:
className : string
the name of the class to look for.
opt_root : (!Element | !Document)=
Optional element or document to look in.
Returns: !Element  The first item found with the class name provided.
code »
getTextContent(node) string
Returns the text contents of the current node, without markup. New lines are stripped and whitespace is collapsed, such that each character would be visible. In browsers that support it, innerText is used. Other browsers attempt to simulate it via node traversal. Line breaks are canonicalized in IE.
Arguments:
node : Node
The node from which we are getting content.
Returns: string  The text content.
code »
getViewportSize(opt_window) !goog.math.Size
Gets the dimensions of the viewport.
Arguments:
opt_window : Window=
Optional window element to test. Defaults to the window of the Dom Helper.
Returns: !goog.math.Size  Object with values 'width' and 'height'.
code »
getWindow() !Window
Gets the window object associated with the document.
Returns: !Window  The window associated with the given document.
code »
htmlToDocumentFragment(htmlString) !Node
Converts an HTML string into a node or a document fragment. A single Node is used if the htmlString only generates a single node. If the htmlString generates multiple nodes then these are put inside a DocumentFragment.
Arguments:
htmlString : string
The HTML string to convert.
Returns: !Node  The resulting node.
code »
insertChildAt(parentchildindex)
Insert a child at a given index. If index is larger than the number of child nodes that the parent currently has, the node is inserted as the last child node.
Arguments:
parent : Element
The element into which to insert the child.
child : Node
The element to insert.
index : number
The index at which to insert the new child node. Must not be negative.
code »
insertSiblingAfter(newNoderefNode)
Inserts a new node after an existing reference node (i.e., as the next sibling). If the reference node has no parent, then does nothing.
Arguments:
newNode : Node
Node to insert.
refNode : Node
Reference node to insert after.
code »
insertSiblingBefore(newNoderefNode)
Inserts a new node before an existing reference node (i.e., as the previous sibling). If the reference node has no parent, then does nothing.
Arguments:
newNode : Node
Node to insert.
refNode : Node
Reference node to insert before.
code »
isCss1CompatMode() boolean
Returns true if the browser is in "CSS1-compatible" (standards-compliant) mode, false otherwise.
Returns: boolean  True if in CSS1-compatible mode.
code »
isElement(obj) boolean
Whether the object looks like an Element.
Arguments:
obj : ?
The object being tested for Element likeness.
Returns: boolean  Whether the object looks like an Element.
code »
isFocusable(element) boolean
Returns true if the element can be focused, i.e. it has a tab index that allows it to receive keyboard focus (tabIndex >= 0), or it is an element that natively supports keyboard focus.
Arguments:
element : Element
Element to check.
Returns: boolean  Whether the element allows keyboard focus.
code »
isFocusableTabIndex(element) boolean
Returns true if the element has a tab index that allows it to receive keyboard focus (tabIndex >= 0), false otherwise. Note that some elements natively support keyboard focus, even if they have no tab index.
Arguments:
element : Element
Element to check.
Returns: boolean  Whether the element has a tab index that allows keyboard focus.
code »
isNodeLike(obj) boolean
Whether the object looks like a DOM node.
Arguments:
obj : ?
The object being tested for node likeness.
Returns: boolean  Whether the object looks like a DOM node.
code »
isNodeList(val) boolean
Returns true if the object is a NodeList. To qualify as a NodeList, the object must have a numeric length property and an item function (which has type 'string' on IE for some reason).
Arguments:
val : Object
Object to test.
Returns: boolean  Whether the object is a NodeList.
code »
isWindow(obj) boolean
Returns true if the specified value is a Window object. This includes the global window for HTML pages, and iframe windows.
Arguments:
obj : ?
Variable to test.
Returns: boolean  Whether the variable is a window.
code »
removeChildren(node)
Removes all the child nodes on a DOM node.
Arguments:
node : Node
Node to remove children from.
code »
removeNode(node) Node
Removes a node from its parent.
Arguments:
node : Node
The node to remove.
Returns: Node  The node removed if removed; else, null.
code »
replaceNode(newNodeoldNode)
Replaces a node in the DOM tree. Will do nothing if oldNode has no parent.
Arguments:
newNode : Node
Node to insert.
oldNode : Node
Node to replace.
code »
setDocument(document)
Sets the document object.
Arguments:
document : !Document
Document object.
code »
setFocusableTabIndex(elementenable)
Enables or disables keyboard focus support on the element via its tab index. Only elements for which goog.dom.isFocusableTabIndex returns true (or elements that natively support keyboard focus, like form elements) can receive keyboard focus. See http://go/tabindex for more info.
Arguments:
element : Element
Element whose tab index is to be changed.
enable : boolean
Whether to set or remove a tab index on the element that supports keyboard focus.
code »
setProperties(elementproperties)
Sets a number of properties on a node.
Arguments:
element : Element
DOM node to set properties on.
properties : Object
Hash of property:value pairs.
code »
setTextContent(nodetext)
Sets the text content of a node, with cross-browser support.
Arguments:
node : Node
The node to change the text content of.
text : string | number
The value that should replace the node's content.
code »

Instance Properties

document_ :
Reference to the document object to use
Code »

Package dom

Package Reference