Class Node

  • Direct Known Subclasses:
    Document, Element, Text

    public class Node
    extends JavaScriptObject
    The Node interface is the primary datatype for the entire Document Object Model. It represents a single node in the document tree. While all objects implementing the Node interface expose methods for dealing with children, not all objects implementing the Node interface may have children.
    • Constructor Detail

      • Node

        protected Node()
    • Method Detail

      • is

        public static boolean is​(JavaScriptObject o)
        Determines whether the given JavaScriptObject is a DOM node. A null object will cause this method to return false. The try catch is needed for the firefox permission error: "Permission denied to access property 'nodeType'"
      • appendChild

        public final <T extends Node> T appendChild​(T newChild)
        Adds the node newChild to the end of the list of children of this node. If the newChild is already in the tree, it is first removed.
        Parameters:
        newChild - The node to add
        Returns:
        The node added
      • cloneNode

        public final Node cloneNode​(boolean deep)
        Returns a duplicate of this node, i.e., serves as a generic copy constructor for nodes. The duplicate node has no parent; (parentNode is null.). Cloning an Element copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes, but this method does not copy any text it contains unless it is a deep clone, since the text is contained in a child Text node. Cloning an Attribute directly, as opposed to be cloned as part of an Element cloning operation, returns a specified attribute (specified is true). Cloning any other type of node simply returns a copy of this node.
        Parameters:
        deep - If true, recursively clone the subtree under the specified node; if false, clone only the node itself (and its attributes, if it is an Element)
        Returns:
        The duplicate node
      • getChild

        public final Node getChild​(int index)
        Gets the child node at the given index.
        Parameters:
        index - the index of the node to be retrieved
        Returns:
        the child node at the given index
      • getChildCount

        public final int getChildCount()
        Gets the number of child nodes contained within this node.
        Returns:
        the number of child nodes
      • getChildNodes

        public final NodeList<Node> getChildNodes()
        A NodeList that contains all children of this node. If there are no children, this is a NodeList containing no nodes.
      • getFirstChild

        public final Node getFirstChild()
        The first child of this node. If there is no such node, this returns null.
      • getLastChild

        public final Node getLastChild()
        The last child of this node. If there is no such node, this returns null.
      • getNextSibling

        public final Node getNextSibling()
        The node immediately following this node. If there is no such node, this returns null.
      • getNodeName

        public final java.lang.String getNodeName()
        The name of this node, depending on its type; see the table above.
      • getNodeType

        public final short getNodeType()
        A code representing the type of the underlying object, as defined above.
      • getNodeValue

        public final java.lang.String getNodeValue()
        The value of this node, depending on its type; see the table above. When it is defined to be null, setting it has no effect.
      • getOwnerDocument

        public final Document getOwnerDocument()
        The Document object associated with this node. This is also the Document object used to create new nodes.
      • getParentElement

        public final Element getParentElement()
        Gets the parent element of this node.
        Returns:
        this node's parent element, or null if none exists
      • getParentNode

        public final Node getParentNode()
        The parent of this node. All nodes except Document may have a parent. However, if a node has just been created and not yet added to the tree, or if it has been removed from the tree, this is null.
      • getPreviousSibling

        public final Node getPreviousSibling()
        The node immediately preceding this node. If there is no such node, this returns null.
      • hasChildNodes

        public final boolean hasChildNodes()
        Returns whether this node has any children.
      • hasParentElement

        public final boolean hasParentElement()
        Determines whether this node has a parent element.
        Returns:
        true if the node has a parent element
      • insertAfter

        public final Node insertAfter​(Node newChild,
                                      Node refChild)
        Inserts the node newChild after the existing child node refChild. If refChild is null, insert newChild at the end of the list of children.
        Parameters:
        newChild - The node to insert
        refChild - The reference node (that is, the node after which the new node must be inserted), or null
        Returns:
        The node being inserted
      • insertBefore

        public final Node insertBefore​(Node newChild,
                                       Node refChild)
        Inserts the node newChild before the existing child node refChild. If refChild is null, insert newChild at the end of the list of children.
        Parameters:
        newChild - The node to insert
        refChild - The reference node (that is, the node before which the new node must be inserted), or null
        Returns:
        The node being inserted
      • insertFirst

        public final Node insertFirst​(Node child)
        Inserts the given child as the first child of this node.
        Parameters:
        child - the child to be inserted
        Returns:
        The node being inserted
      • isOrHasChild

        public final boolean isOrHasChild​(Node child)
        Determine whether a node is equal to, or the child of, this node.
        Parameters:
        child - the potential child element
        Returns:
        true if the relationship holds
      • removeChild

        public final Node removeChild​(Node oldChild)
        Removes the child node indicated by oldChild from the list of children, and returns it.
        Parameters:
        oldChild - The node being removed
        Returns:
        The node removed
      • removeAllChildren

        public final Node removeAllChildren()
        Remove all children of the node.
      • removeFromParent

        public final void removeFromParent()
        Removes this node from its parent node if it is attached to one.
      • replaceChild

        public final Node replaceChild​(Node newChild,
                                       Node oldChild)
        Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node.
        Parameters:
        newChild - The new node to put in the child list
        oldChild - The node being replaced in the list
        Returns:
        The node replaced
      • setNodeValue

        public final void setNodeValue​(java.lang.String nodeValue)
        The value of this node, depending on its type; see the table above. When it is defined to be null, setting it has no effect.