Class Element

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.htmlunit.corejs.javascript.ConstProperties, org.htmlunit.corejs.javascript.debug.DebuggableObject, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.SymbolScriptable
    Direct Known Subclasses:
    HTMLElement, SVGElement

    public class Element
    extends Node
    A JavaScript object for Element.
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ScriptableObject

        org.htmlunit.corejs.javascript.ScriptableObject.KeyComparator
    • Constructor Summary

      Constructors 
      Constructor Description
      Element()
      Default constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void after​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Inserts a set of Node or DOMString objects in the children list of this ChildNode's parent, just after this ChildNode.
      static void append​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Inserts a set of Node objects or string objects after the last child of the Element.
      static void before​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Inserts a set of Node or DOMString objects in the children list of this ChildNode's parent, just before this ChildNode.
      static Element closest​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)  
      protected NamedNodeMap createAttributesObject()
      Creates the JS object for the property attributes.
      protected void createEventHandler​(java.lang.String eventName, java.lang.String attrValue)
      Create the event handler function from the attribute value.
      java.lang.String getAttribute​(java.lang.String attributeName)  
      HtmlUnitScriptable getAttributeNode​(java.lang.String name)
      Retrieves an attribute node by name.
      HtmlUnitScriptable getAttributeNodeNS​(java.lang.String namespaceURI, java.lang.String localName)
      Returns the specified attribute.
      java.lang.String getAttributeNS​(java.lang.String namespaceURI, java.lang.String localName)
      Gets the specified attribute.
      NamedNodeMap getAttributes()
      Returns the attributes of this XML element.
      ClientRect getBoundingClientRect()
      Retrieves an object that specifies the bounds of a collection of TextRectangle objects.
      int getChildElementCount()
      Returns the current number of child elements.
      HTMLCollection getChildren()
      Gets the children of the current node.
      DOMTokenList getClassList()
      Gets the token list of class attribute.
      java.lang.Object getClassName_js()
      Returns the class defined for this element.
      int getClientHeight()
      Returns the clientHeight attribute.
      int getClientLeft()
      Returns the clientLeft attribute.
      ClientRectList getClientRects()
      Retrieves a collection of rectangles that describes the layout of the contents of an object or range within the client.
      int getClientTop()
      Returns clientTop attribute.
      int getClientWidth()
      Returns the clientWidth attribute.
      DomElement getDomNodeOrDie()
      Returns the DOM node that corresponds to this JavaScript object or throw an exception if one cannot be found.
      HTMLCollection getElementsByClassName​(java.lang.String className)
      Returns all the descendant elements with the specified class.
      HTMLCollection getElementsByTagName​(java.lang.String tagName)
      Returns all the descendant elements with the specified tag name.
      java.lang.Object getElementsByTagNameNS​(java.lang.Object namespaceURI, java.lang.String localName)
      Returns a list of elements with the given tag name belonging to the given namespace.
      Element getFirstElementChild()
      Returns the first element child.
      java.lang.String getId()
      Returns the element ID.
      java.lang.String getInnerHTML()
      Gets the innerHTML attribute.
      protected java.lang.String getInnerHTML​(DomNode domNode)
      Helper for getInnerHtml (to be reuses bei HTMLTemplate.
      private java.lang.Object[] getInsertAdjacentLocation​(java.lang.String where)
      Returns where and how to add the new node.
      Element getLastElementChild()
      Returns the last element child.
      java.lang.Object getLocalName()
      Returns the local name of this attribute.
      java.lang.Object getNamespaceURI()
      Returns the URI that identifies an XML namespace.
      Element getNextElementSibling()
      Returns the next element sibling.
      org.htmlunit.corejs.javascript.Function getOnbeforecopy()
      Returns the onbeforecopy event handler for this element.
      org.htmlunit.corejs.javascript.Function getOnbeforecut()
      Returns the onbeforecut event handler for this element.
      org.htmlunit.corejs.javascript.Function getOnbeforepaste()
      Returns the onbeforepaste event handler for this element.
      org.htmlunit.corejs.javascript.Function getOnsearch()
      Returns the onsearch event handler for this element.
      org.htmlunit.corejs.javascript.Function getOnwebkitfullscreenchange()
      Returns the onwebkitfullscreenchange event handler for this element.
      org.htmlunit.corejs.javascript.Function getOnwebkitfullscreenerror()
      Returns the onwebkitfullscreenerror event handler for this element.
      org.htmlunit.corejs.javascript.Function getOnwheel()
      Returns the onwheel event handler for this element.
      java.lang.String getOuterHTML()
      Gets the outerHTML of the node.
      Element getParentElement()
      Gets the first ancestor instance of Element.
      java.lang.Object getPrefix()
      Returns the namespace prefix.
      Element getPreviousElementSibling()
      Returns the previous element sibling.
      int getScrollHeight()
      Gets the scrollHeight for this element.
      int getScrollLeft()
      Gets the scrollLeft value for this element.
      int getScrollTop()
      Gets the scrollTop value for this element.
      int getScrollWidth()
      Gets the scrollWidth for this element.
      protected CSSStyleDeclaration getStyle()
      Returns the style object for this element.
      java.lang.String getTagName()
      Returns the tag name of this element.
      boolean hasAttribute​(java.lang.String name)
      Returns true when an attribute with a given name is specified on this element or has a default value.
      boolean hasAttributeNS​(java.lang.String namespaceURI, java.lang.String localName)
      Test for attribute.
      boolean hasAttributes()
      Returns true when the current element has any attributes or not.
      java.lang.String innerHTML()
      The getInnerHTML function.
      java.lang.Object insertAdjacentElement​(java.lang.String where, java.lang.Object insertedElement)
      Inserts the given element into the element at the location.
      void insertAdjacentHTML​(java.lang.String position, java.lang.String text)
      Parses the given text as HTML or XML and inserts the resulting nodes into the tree in the position given by the position argument.
      void insertAdjacentText​(java.lang.String where, java.lang.String text)
      Inserts the given text into the element at the specified location.
      protected boolean isDisplayNone()
      Returns whether the display is none or not.
      protected boolean isEndTagForbidden()
      Returns whether the end tag is forbidden or not.
      void jsConstructor()
      JavaScript constructor.
      static boolean matches​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Returns true if the element would be selected by the specified selector string; otherwise, returns false.
      static boolean mozMatchesSelector​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Returns true if the element would be selected by the specified selector string; otherwise, returns false.
      private static void parseHtmlSnippet​(DomNode target, java.lang.String source)
      Parses the specified HTML source code, appending the resulting content at the specified target location.
      static void prepend​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Inserts a set of Node objects or string objects before the first child of the Element.
      protected void printChildren​(java.lang.StringBuilder builder, DomNode node, boolean html)
      Helper for getting code back from nodes.
      protected void printNode​(java.lang.StringBuilder builder, DomNode node, boolean html)  
      Node querySelector​(java.lang.String selectors)
      Returns the first element within the document that matches the specified group of selectors.
      NodeList querySelectorAll​(java.lang.String selectors)
      Retrieves all element nodes from descendants of the starting element node that match any selector within the supplied selector strings.
      void releaseCapture()
      Mock for the moment.
      void remove()
      Removes the DOM node from its parent.
      void removeAttribute​(java.lang.String name)
      Removes the specified attribute.
      void removeAttributeNode​(Attr attribute)
      Removes the specified attribute.
      void removeAttributeNS​(java.lang.String namespaceURI, java.lang.String localName)
      Removes the specified attribute.
      static void replaceChildren​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Replaces the existing children of a Node with a specified new set of children.
      static void replaceWith​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Replaces the node with a set of Node or DOMString objects.
      void scroll()
      Implement the scroll() JavaScript function but don't actually do anything.
      void scrollBy()
      Implement the scrollBy() JavaScript function but don't actually do anything.
      void scrollIntoView()
      Implement the scrollIntoView() JavaScript function but don't actually do anything.
      void scrollIntoViewIfNeeded()
      Implement the scrollIntoViewIfNeeded() JavaScript function but don't actually do anything.
      void scrollTo()
      Implement the scrollTo() JavaScript function but don't actually do anything.
      void setAttribute​(java.lang.String name, java.lang.String value)
      Sets an attribute.
      Attr setAttributeNode​(Attr newAtt)
      Sets the attribute node for the specified attribute.
      void setAttributeNS​(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String value)
      Sets the specified attribute.
      void setCapture​(boolean retargetToElement)
      Mock for the moment.
      void setClassName_js​(java.lang.String className)
      Sets the class attribute for this element.
      void setDomNode​(DomNode domNode)
      Sets the DOM node that corresponds to this JavaScript object.
      void setId​(java.lang.String newId)
      Sets the id value for this element.
      void setInnerHTML​(java.lang.Object value)
      Replaces all child elements of this element with the supplied value.
      void setOnbeforecopy​(java.lang.Object onbeforecopy)
      Sets the onbeforecopy event handler for this element.
      void setOnbeforecut​(java.lang.Object onbeforecut)
      Sets the onbeforecut event handler for this element.
      void setOnbeforepaste​(java.lang.Object onbeforepaste)
      Sets the onbeforepaste event handler for this element.
      void setOnsearch​(java.lang.Object onsearch)
      Sets the onsearch event handler for this element.
      void setOnwebkitfullscreenchange​(java.lang.Object onwebkitfullscreenchange)
      Sets the onwebkitfullscreenchange event handler for this element.
      void setOnwebkitfullscreenerror​(java.lang.Object onwebkitfullscreenerror)
      Sets the onwebkitfullscreenerror event handler for this element.
      void setOnwheel​(java.lang.Object onwheel)
      Sets the onwheel event handler for this element.
      void setOuterHTML​(java.lang.Object value)
      Replaces this element (including all child elements) with the supplied value.
      void setScrollLeft​(int scroll)
      Sets the scrollLeft value for this element.
      void setScrollTop​(int scroll)
      Sets the scrollTop value for this element.
      protected void setStyle​(java.lang.String style)
      Sets the styles for this element.
      boolean toggleAttribute​(java.lang.String name, java.lang.Object force)
      The toggleAttribute() method of the Element interface toggles a Boolean attribute (removing it if it is present and adding it if it is not present) on the given element.
      static boolean webkitMatchesSelector​(org.htmlunit.corejs.javascript.Context context, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, java.lang.Object[] args, org.htmlunit.corejs.javascript.Function function)
      Returns true if the element would be selected by the specified selector string; otherwise, returns false.
      • Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject

        applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, get, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setPrototype, size
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • POSITION_BEFORE_BEGIN

        static final java.lang.String POSITION_BEFORE_BEGIN
        See Also:
        Constant Field Values
      • POSITION_AFTER_BEGIN

        static final java.lang.String POSITION_AFTER_BEGIN
        See Also:
        Constant Field Values
      • CLASS_NAMES_SPLIT_PATTERN

        private static final java.util.regex.Pattern CLASS_NAMES_SPLIT_PATTERN
      • PRINT_NODE_PATTERN

        private static final java.util.regex.Pattern PRINT_NODE_PATTERN
      • PRINT_NODE_QUOTE_PATTERN

        private static final java.util.regex.Pattern PRINT_NODE_QUOTE_PATTERN
      • elementsByTagName_

        private java.util.Map<java.lang.String,​HTMLCollection> elementsByTagName_
      • scrollLeft_

        private int scrollLeft_
      • scrollTop_

        private int scrollTop_
    • Constructor Detail

      • Element

        public Element()
        Default constructor.
    • Method Detail

      • jsConstructor

        public void jsConstructor()
        JavaScript constructor.
        Overrides:
        jsConstructor in class Node
      • setDomNode

        public void setDomNode​(DomNode domNode)
        Sets the DOM node that corresponds to this JavaScript object.
        Overrides:
        setDomNode in class HtmlUnitScriptable
        Parameters:
        domNode - the DOM node
      • createEventHandler

        protected void createEventHandler​(java.lang.String eventName,
                                          java.lang.String attrValue)
        Create the event handler function from the attribute value.
        Parameters:
        eventName - the event name (ex: "onclick")
        attrValue - the attribute value
      • getTagName

        public java.lang.String getTagName()
        Returns the tag name of this element.
        Returns:
        the tag name
      • createAttributesObject

        protected NamedNodeMap createAttributesObject()
        Creates the JS object for the property attributes. This object will the be cached.
        Returns:
        the JS object
      • getAttribute

        public java.lang.String getAttribute​(java.lang.String attributeName)
        Parameters:
        attributeName - attribute name
        Returns:
        the value of the specified attribute, null if the attribute is not defined
      • setAttribute

        public void setAttribute​(java.lang.String name,
                                 java.lang.String value)
        Sets an attribute.
        Parameters:
        name - Name of the attribute to set
        value - Value to set the attribute to
      • getElementsByTagName

        public HTMLCollection getElementsByTagName​(java.lang.String tagName)
        Returns all the descendant elements with the specified tag name.
        Parameters:
        tagName - the name to search for
        Returns:
        all the descendant elements with the specified tag name
      • getAttributeNode

        public HtmlUnitScriptable getAttributeNode​(java.lang.String name)
        Retrieves an attribute node by name.
        Parameters:
        name - the name of the attribute to retrieve
        Returns:
        the XMLAttr node with the specified name or null if there is no such attribute
      • getElementsByTagNameNS

        public java.lang.Object getElementsByTagNameNS​(java.lang.Object namespaceURI,
                                                       java.lang.String localName)
        Returns a list of elements with the given tag name belonging to the given namespace.
        Parameters:
        namespaceURI - the namespace URI of elements to look for
        localName - is either the local name of elements to look for or the special value "*", which matches all elements.
        Returns:
        a live NodeList of found elements in the order they appear in the tree
      • hasAttribute

        public boolean hasAttribute​(java.lang.String name)
        Returns true when an attribute with a given name is specified on this element or has a default value. See also the DOM reference
        Parameters:
        name - the name of the attribute to look for
        Returns:
        true if an attribute with the given name is specified on this element or has a default value
      • hasAttributes

        public boolean hasAttributes()
        Returns true when the current element has any attributes or not.
        Overrides:
        hasAttributes in class Node
        Returns:
        true if an attribute is specified on this element
      • getDomNodeOrDie

        public DomElement getDomNodeOrDie()
        Returns the DOM node that corresponds to this JavaScript object or throw an exception if one cannot be found.
        Overrides:
        getDomNodeOrDie in class HtmlUnitScriptable
        Returns:
        the DOM node
      • removeAttribute

        public void removeAttribute​(java.lang.String name)
        Removes the specified attribute.
        Parameters:
        name - the name of the attribute to remove
      • getBoundingClientRect

        public ClientRect getBoundingClientRect()
        Retrieves an object that specifies the bounds of a collection of TextRectangle objects.
        Returns:
        an object that specifies the bounds of a collection of TextRectangle objects
        See Also:
        MSDN doc
      • getChildElementCount

        public int getChildElementCount()
        Returns the current number of child elements.
        Overrides:
        getChildElementCount in class Node
        Returns:
        the child element count
      • getFirstElementChild

        public Element getFirstElementChild()
        Returns the first element child.
        Overrides:
        getFirstElementChild in class Node
        Returns:
        the first element child
      • getLastElementChild

        public Element getLastElementChild()
        Returns the last element child.
        Overrides:
        getLastElementChild in class Node
        Returns:
        the last element child
      • getNextElementSibling

        public Element getNextElementSibling()
        Returns the next element sibling.
        Returns:
        the next element sibling
      • getPreviousElementSibling

        public Element getPreviousElementSibling()
        Returns the previous element sibling.
        Returns:
        the previous element sibling
      • getClassList

        public DOMTokenList getClassList()
        Gets the token list of class attribute.
        Returns:
        the token list of class attribute
      • getAttributeNS

        public java.lang.String getAttributeNS​(java.lang.String namespaceURI,
                                               java.lang.String localName)
        Gets the specified attribute.
        Parameters:
        namespaceURI - the namespace URI
        localName - the local name of the attribute to look for
        Returns:
        the value of the specified attribute, null if the attribute is not defined
      • hasAttributeNS

        public boolean hasAttributeNS​(java.lang.String namespaceURI,
                                      java.lang.String localName)
        Test for attribute. See also the DOM reference
        Parameters:
        namespaceURI - the namespace URI
        localName - the local name of the attribute to look for
        Returns:
        true if the node has this attribute
      • setAttributeNS

        public void setAttributeNS​(java.lang.String namespaceURI,
                                   java.lang.String qualifiedName,
                                   java.lang.String value)
        Sets the specified attribute.
        Parameters:
        namespaceURI - the namespace URI
        qualifiedName - the qualified name of the attribute to look for
        value - the new attribute value
      • removeAttributeNS

        public void removeAttributeNS​(java.lang.String namespaceURI,
                                      java.lang.String localName)
        Removes the specified attribute.
        Parameters:
        namespaceURI - the namespace URI of the attribute to remove
        localName - the local name of the attribute to remove
      • setAttributeNode

        public Attr setAttributeNode​(Attr newAtt)
        Sets the attribute node for the specified attribute.
        Parameters:
        newAtt - the attribute to set
        Returns:
        the replaced attribute node, if any
      • querySelectorAll

        public NodeList querySelectorAll​(java.lang.String selectors)
        Retrieves all element nodes from descendants of the starting element node that match any selector within the supplied selector strings. The NodeList object returned by the querySelectorAll() method must be static, not live.
        Parameters:
        selectors - the selectors
        Returns:
        the static node list
      • querySelector

        public Node querySelector​(java.lang.String selectors)
        Returns the first element within the document that matches the specified group of selectors.
        Parameters:
        selectors - the selectors
        Returns:
        null if no matches are found; otherwise, it returns the first matching element
      • getClassName_js

        public java.lang.Object getClassName_js()
        Returns the class defined for this element.
        Returns:
        the class name
      • setClassName_js

        public void setClassName_js​(java.lang.String className)
        Sets the class attribute for this element.
        Parameters:
        className - the new class name
      • getClientHeight

        public int getClientHeight()
        Returns the clientHeight attribute.
        Returns:
        the clientHeight attribute
      • getClientWidth

        public int getClientWidth()
        Returns the clientWidth attribute.
        Returns:
        the clientWidth attribute
      • getClientLeft

        public int getClientLeft()
        Returns the clientLeft attribute.
        Returns:
        the clientLeft attribute
      • getClientTop

        public int getClientTop()
        Returns clientTop attribute.
        Returns:
        the clientTop attribute
      • getAttributeNodeNS

        public HtmlUnitScriptable getAttributeNodeNS​(java.lang.String namespaceURI,
                                                     java.lang.String localName)
        Returns the specified attribute.
        Parameters:
        namespaceURI - the namespace URI
        localName - the local name of the attribute to look for
        Returns:
        the specified attribute, null if the attribute is not defined
      • getElementsByClassName

        public HTMLCollection getElementsByClassName​(java.lang.String className)
        Returns all the descendant elements with the specified class.
        Parameters:
        className - the name to search for
        Returns:
        all the descendant elements with the specified class name
      • getClientRects

        public ClientRectList getClientRects()
        Retrieves a collection of rectangles that describes the layout of the contents of an object or range within the client. Each rectangle describes a single line.
        Returns:
        a collection of rectangles that describes the layout of the contents
      • isDisplayNone

        protected final boolean isDisplayNone()
        Returns whether the display is none or not.
        Returns:
        whether the display is none or not
      • insertAdjacentElement

        public java.lang.Object insertAdjacentElement​(java.lang.String where,
                                                      java.lang.Object insertedElement)
        Inserts the given element into the element at the location.
        Parameters:
        where - specifies where to insert the element, using one of the following values (case-insensitive): beforebegin, afterbegin, beforeend, afterend
        insertedElement - the element to be inserted
        Returns:
        an element object
        See Also:
        MSDN
      • insertAdjacentText

        public void insertAdjacentText​(java.lang.String where,
                                       java.lang.String text)
        Inserts the given text into the element at the specified location.
        Parameters:
        where - specifies where to insert the text, using one of the following values (case-insensitive): beforebegin, afterbegin, beforeend, afterend
        text - the text to insert
        See Also:
        MSDN
      • insertAdjacentHTML

        public void insertAdjacentHTML​(java.lang.String position,
                                       java.lang.String text)
        Parses the given text as HTML or XML and inserts the resulting nodes into the tree in the position given by the position argument.
        Parameters:
        position - specifies where to insert the nodes, using one of the following values (case-insensitive): beforebegin, afterbegin, beforeend, afterend
        text - the text to parse
        See Also:
        W3C Spec, WhatWG Spec, Mozilla Developer Network, MSDN
      • parseHtmlSnippet

        private static void parseHtmlSnippet​(DomNode target,
                                             java.lang.String source)
        Parses the specified HTML source code, appending the resulting content at the specified target location.
        Parameters:
        target - the node indicating the position at which the parsed content should be placed
        source - the HTML code extract to parse
      • innerHTML

        public java.lang.String innerHTML()
        The getInnerHTML function.
        Returns:
        the contents of this node as HTML
      • getInnerHTML

        public java.lang.String getInnerHTML()
        Gets the innerHTML attribute.
        Returns:
        the contents of this node as HTML
      • setInnerHTML

        public void setInnerHTML​(java.lang.Object value)
        Replaces all child elements of this element with the supplied value.
        Parameters:
        value - the new value for the contents of this element
      • getInnerHTML

        protected java.lang.String getInnerHTML​(DomNode domNode)
        Helper for getInnerHtml (to be reuses bei HTMLTemplate.
        Parameters:
        domNode - the node
        Returns:
        the contents of this node as HTML
      • getOuterHTML

        public java.lang.String getOuterHTML()
        Gets the outerHTML of the node.
        Returns:
        the contents of this node as HTML
        See Also:
        MSDN documentation
      • setOuterHTML

        public void setOuterHTML​(java.lang.Object value)
        Replaces this element (including all child elements) with the supplied value.
        Parameters:
        value - the new value for replacing this element
      • printChildren

        protected final void printChildren​(java.lang.StringBuilder builder,
                                           DomNode node,
                                           boolean html)
        Helper for getting code back from nodes.
        Parameters:
        builder - the builder to write to
        node - the node to be serialized
        html - flag
      • printNode

        protected void printNode​(java.lang.StringBuilder builder,
                                 DomNode node,
                                 boolean html)
      • isEndTagForbidden

        protected boolean isEndTagForbidden()
        Returns whether the end tag is forbidden or not.
        Returns:
        whether the end tag is forbidden or not
        See Also:
        HTML 4 specs
      • getId

        public java.lang.String getId()
        Returns the element ID.
        Returns:
        the ID of this element
      • setId

        public void setId​(java.lang.String newId)
        Sets the id value for this element.
        Parameters:
        newId - the newId value for this element
      • removeAttributeNode

        public void removeAttributeNode​(Attr attribute)
        Removes the specified attribute.
        Parameters:
        attribute - the attribute to remove
      • getScrollTop

        public int getScrollTop()
        Gets the scrollTop value for this element.
        Returns:
        the scrollTop value for this element
        See Also:
        MSDN documentation
      • setScrollTop

        public void setScrollTop​(int scroll)
        Sets the scrollTop value for this element.
        Parameters:
        scroll - the scrollTop value for this element
      • getScrollLeft

        public int getScrollLeft()
        Gets the scrollLeft value for this element.
        Returns:
        the scrollLeft value for this element
        See Also:
        MSDN documentation
      • setScrollLeft

        public void setScrollLeft​(int scroll)
        Sets the scrollLeft value for this element.
        Parameters:
        scroll - the scrollLeft value for this element
      • getScrollHeight

        public int getScrollHeight()
        Gets the scrollHeight for this element.
        Returns:
        at the moment the same as client height
        See Also:
        MSDN documentation
      • getScrollWidth

        public int getScrollWidth()
        Gets the scrollWidth for this element.
        Returns:
        a dummy value of 10
        See Also:
        MSDN documentation
      • getStyle

        protected CSSStyleDeclaration getStyle()
        Returns the style object for this element.
        Returns:
        the style object for this element
      • setStyle

        protected void setStyle​(java.lang.String style)
        Sets the styles for this element.
        Parameters:
        style - the style of the element
      • scroll

        public void scroll()
        Implement the scroll() JavaScript function but don't actually do anything. The requirement is just to prevent scripts that call that method from failing
      • scrollBy

        public void scrollBy()
        Implement the scrollBy() JavaScript function but don't actually do anything. The requirement is just to prevent scripts that call that method from failing
      • scrollTo

        public void scrollTo()
        Implement the scrollTo() JavaScript function but don't actually do anything. The requirement is just to prevent scripts that call that method from failing
      • scrollIntoView

        public void scrollIntoView()
        Implement the scrollIntoView() JavaScript function but don't actually do anything. The requirement is just to prevent scripts that call that method from failing
      • scrollIntoViewIfNeeded

        public void scrollIntoViewIfNeeded()
        Implement the scrollIntoViewIfNeeded() JavaScript function but don't actually do anything.
      • getPrefix

        public java.lang.Object getPrefix()
        Returns the namespace prefix.
        Overrides:
        getPrefix in class Node
        Returns:
        the namespace prefix
      • getLocalName

        public java.lang.Object getLocalName()
        Returns the local name of this attribute.
        Overrides:
        getLocalName in class Node
        Returns:
        the local name of this attribute
      • getNamespaceURI

        public java.lang.Object getNamespaceURI()
        Returns the URI that identifies an XML namespace.
        Overrides:
        getNamespaceURI in class Node
        Returns:
        the URI that identifies an XML namespace
      • getOnbeforecopy

        public org.htmlunit.corejs.javascript.Function getOnbeforecopy()
        Returns the onbeforecopy event handler for this element.
        Returns:
        the onbeforecopy event handler for this element
      • setOnbeforecopy

        public void setOnbeforecopy​(java.lang.Object onbeforecopy)
        Sets the onbeforecopy event handler for this element.
        Parameters:
        onbeforecopy - the onbeforecopy event handler for this element
      • getOnbeforecut

        public org.htmlunit.corejs.javascript.Function getOnbeforecut()
        Returns the onbeforecut event handler for this element.
        Returns:
        the onbeforecut event handler for this element
      • setOnbeforecut

        public void setOnbeforecut​(java.lang.Object onbeforecut)
        Sets the onbeforecut event handler for this element.
        Parameters:
        onbeforecut - the onbeforecut event handler for this element
      • getOnbeforepaste

        public org.htmlunit.corejs.javascript.Function getOnbeforepaste()
        Returns the onbeforepaste event handler for this element.
        Returns:
        the onbeforepaste event handler for this element
      • setOnbeforepaste

        public void setOnbeforepaste​(java.lang.Object onbeforepaste)
        Sets the onbeforepaste event handler for this element.
        Parameters:
        onbeforepaste - the onbeforepaste event handler for this element
      • getOnsearch

        public org.htmlunit.corejs.javascript.Function getOnsearch()
        Returns the onsearch event handler for this element.
        Returns:
        the onsearch event handler for this element
      • setOnsearch

        public void setOnsearch​(java.lang.Object onsearch)
        Sets the onsearch event handler for this element.
        Parameters:
        onsearch - the onsearch event handler for this element
      • getOnwebkitfullscreenchange

        public org.htmlunit.corejs.javascript.Function getOnwebkitfullscreenchange()
        Returns the onwebkitfullscreenchange event handler for this element.
        Returns:
        the onwebkitfullscreenchange event handler for this element
      • setOnwebkitfullscreenchange

        public void setOnwebkitfullscreenchange​(java.lang.Object onwebkitfullscreenchange)
        Sets the onwebkitfullscreenchange event handler for this element.
        Parameters:
        onwebkitfullscreenchange - the onwebkitfullscreenchange event handler for this element
      • getOnwebkitfullscreenerror

        public org.htmlunit.corejs.javascript.Function getOnwebkitfullscreenerror()
        Returns the onwebkitfullscreenerror event handler for this element.
        Returns:
        the onwebkitfullscreenerror event handler for this element
      • setOnwebkitfullscreenerror

        public void setOnwebkitfullscreenerror​(java.lang.Object onwebkitfullscreenerror)
        Sets the onwebkitfullscreenerror event handler for this element.
        Parameters:
        onwebkitfullscreenerror - the onwebkitfullscreenerror event handler for this element
      • getOnwheel

        public org.htmlunit.corejs.javascript.Function getOnwheel()
        Returns the onwheel event handler for this element.
        Returns:
        the onwheel event handler for this element
      • setOnwheel

        public void setOnwheel​(java.lang.Object onwheel)
        Sets the onwheel event handler for this element.
        Parameters:
        onwheel - the onwheel event handler for this element
      • setCapture

        public void setCapture​(boolean retargetToElement)
        Mock for the moment.
        Parameters:
        retargetToElement - if true, all events are targeted directly to this element; if false, events can also fire at descendants of this element
      • releaseCapture

        public void releaseCapture()
        Mock for the moment.
      • before

        public static void before​(org.htmlunit.corejs.javascript.Context context,
                                  org.htmlunit.corejs.javascript.Scriptable scope,
                                  org.htmlunit.corejs.javascript.Scriptable thisObj,
                                  java.lang.Object[] args,
                                  org.htmlunit.corejs.javascript.Function function)
        Inserts a set of Node or DOMString objects in the children list of this ChildNode's parent, just before this ChildNode.
        Parameters:
        context - the context
        scope - the scope
        thisObj - this object
        args - the arguments
        function - the function
      • after

        public static void after​(org.htmlunit.corejs.javascript.Context context,
                                 org.htmlunit.corejs.javascript.Scriptable scope,
                                 org.htmlunit.corejs.javascript.Scriptable thisObj,
                                 java.lang.Object[] args,
                                 org.htmlunit.corejs.javascript.Function function)
        Inserts a set of Node or DOMString objects in the children list of this ChildNode's parent, just after this ChildNode.
        Parameters:
        context - the context
        scope - the scope
        thisObj - this object
        args - the arguments
        function - the function
      • replaceWith

        public static void replaceWith​(org.htmlunit.corejs.javascript.Context context,
                                       org.htmlunit.corejs.javascript.Scriptable scope,
                                       org.htmlunit.corejs.javascript.Scriptable thisObj,
                                       java.lang.Object[] args,
                                       org.htmlunit.corejs.javascript.Function function)
        Replaces the node with a set of Node or DOMString objects.
        Parameters:
        context - the context
        scope - the scope
        thisObj - this object
        args - the arguments
        function - the function
      • matches

        public static boolean matches​(org.htmlunit.corejs.javascript.Context context,
                                      org.htmlunit.corejs.javascript.Scriptable scope,
                                      org.htmlunit.corejs.javascript.Scriptable thisObj,
                                      java.lang.Object[] args,
                                      org.htmlunit.corejs.javascript.Function function)
        Returns true if the element would be selected by the specified selector string; otherwise, returns false.
        Parameters:
        context - the JavaScript context
        scope - the scope
        thisObj - the scriptable
        args - the arguments passed into the method
        function - the function
        Returns:
        the value
      • mozMatchesSelector

        public static boolean mozMatchesSelector​(org.htmlunit.corejs.javascript.Context context,
                                                 org.htmlunit.corejs.javascript.Scriptable scope,
                                                 org.htmlunit.corejs.javascript.Scriptable thisObj,
                                                 java.lang.Object[] args,
                                                 org.htmlunit.corejs.javascript.Function function)
        Returns true if the element would be selected by the specified selector string; otherwise, returns false.
        Parameters:
        context - the JavaScript context
        scope - the scope
        thisObj - the scriptable
        args - the arguments passed into the method
        function - the function
        Returns:
        the value
      • webkitMatchesSelector

        public static boolean webkitMatchesSelector​(org.htmlunit.corejs.javascript.Context context,
                                                    org.htmlunit.corejs.javascript.Scriptable scope,
                                                    org.htmlunit.corejs.javascript.Scriptable thisObj,
                                                    java.lang.Object[] args,
                                                    org.htmlunit.corejs.javascript.Function function)
        Returns true if the element would be selected by the specified selector string; otherwise, returns false.
        Parameters:
        context - the JavaScript context
        scope - the scope
        thisObj - the scriptable
        args - the arguments passed into the method
        function - the function
        Returns:
        the value
      • closest

        public static Element closest​(org.htmlunit.corejs.javascript.Context context,
                                      org.htmlunit.corejs.javascript.Scriptable scope,
                                      org.htmlunit.corejs.javascript.Scriptable thisObj,
                                      java.lang.Object[] args,
                                      org.htmlunit.corejs.javascript.Function function)
      • toggleAttribute

        public boolean toggleAttribute​(java.lang.String name,
                                       java.lang.Object force)
        The toggleAttribute() method of the Element interface toggles a Boolean attribute (removing it if it is present and adding it if it is not present) on the given element. If force is true, adds boolean attribute with name. If force is false, removes attribute with name.
        Parameters:
        name - the name of the attribute to be toggled. The attribute name is automatically converted to all lower-case when toggleAttribute() is called on an HTML element in an HTML document.
        force - if true, the toggleAttribute method adds an attribute named name
        Returns:
        true if attribute name is eventually present, and false otherwise
        See Also:
        Element.toggleAttribute()
      • append

        public static void append​(org.htmlunit.corejs.javascript.Context context,
                                  org.htmlunit.corejs.javascript.Scriptable scope,
                                  org.htmlunit.corejs.javascript.Scriptable thisObj,
                                  java.lang.Object[] args,
                                  org.htmlunit.corejs.javascript.Function function)
        Inserts a set of Node objects or string objects after the last child of the Element. String objects are inserted as equivalent Text nodes.
        Parameters:
        context - the context
        scope - the scope
        thisObj - this object
        args - the arguments
        function - the function
      • prepend

        public static void prepend​(org.htmlunit.corejs.javascript.Context context,
                                   org.htmlunit.corejs.javascript.Scriptable scope,
                                   org.htmlunit.corejs.javascript.Scriptable thisObj,
                                   java.lang.Object[] args,
                                   org.htmlunit.corejs.javascript.Function function)
        Inserts a set of Node objects or string objects before the first child of the Element. String objects are inserted as equivalent Text nodes.
        Parameters:
        context - the context
        scope - the scope
        thisObj - this object
        args - the arguments
        function - the function
      • replaceChildren

        public static void replaceChildren​(org.htmlunit.corejs.javascript.Context context,
                                           org.htmlunit.corejs.javascript.Scriptable scope,
                                           org.htmlunit.corejs.javascript.Scriptable thisObj,
                                           java.lang.Object[] args,
                                           org.htmlunit.corejs.javascript.Function function)
        Replaces the existing children of a Node with a specified new set of children. These can be string or Node objects.
        Parameters:
        context - the context
        scope - the scope
        thisObj - this object
        args - the arguments
        function - the function