Class NodeList

java.lang.Object
org.htmlunit.corejs.javascript.ScriptableObject
All Implemented Interfaces:
Serializable, Cloneable, org.htmlunit.corejs.javascript.Callable, org.htmlunit.corejs.javascript.ConstProperties, org.htmlunit.corejs.javascript.debug.DebuggableObject, org.htmlunit.corejs.javascript.ExternalArrayData, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.SymbolScriptable
Direct Known Subclasses:
LabelsNodeList, RadioNodeList

public class NodeList extends AbstractList implements org.htmlunit.corejs.javascript.Callable
An array of elements. Used for the element arrays returned by document.all, document.all.tags('x'), document.forms, window.frames, etc. Note that this class must not be used for collections that can be modified, for example map.areas and select.options.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.htmlunit.javascript.host.dom.AbstractList

    AbstractList.EffectOnCache

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

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

    Fields inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST

    Fields inherited from interface org.htmlunit.corejs.javascript.Scriptable

    NOT_FOUND
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an instance.
    NodeList(org.htmlunit.corejs.javascript.ScriptableObject parentScope)
    Creates an instance.
    NodeList(DomNode domNode, boolean attributeChangeSensitive)
    Creates an instance.
    NodeList(DomNode domNode, List<DomNode> initialElements)
    Constructs an instance with an initial cache value.
  • Method Summary

    Modifier and Type
    Method
    Description
    call(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, Object[] args)
    protected AbstractList
    create(DomNode parentScope, List<DomNode> initialElements)
    Constructs a new instance with an initial cache value.
    org.htmlunit.corejs.javascript.Scriptable
    Returns an Iterator allowing to go through all key/value pairs contained in this object.
    void
    forEach(Object callback)
    Calls the callback given in parameter once for each value pair in the list, in insertion order.
    final int
    Returns the length.
    item(Object index)
    Returns the item or items corresponding to the specified index or key.
    void
    JavaScript constructor.
    org.htmlunit.corejs.javascript.Scriptable
    Returns an Iterator allowing to go through all keys contained in this object.
    static NodeList
    staticNodeList(HtmlUnitScriptable parentScope, List<DomNode> elements)
    Gets a static NodeList.
    org.htmlunit.corejs.javascript.Scriptable
    Returns an Iterator allowing to go through all keys contained in this object.

    Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    applyDescriptorToAttributeBitset, associateValue, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, 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, wait, wait, wait
  • Constructor Details

    • NodeList

      public NodeList()
      Creates an instance.
    • NodeList

      public NodeList(DomNode domNode, boolean attributeChangeSensitive)
      Creates an instance.
      Parameters:
      domNode - the DomNode
      attributeChangeSensitive - indicates if the content of the collection may change when an attribute of a descendant node of parentScope changes (attribute added, modified or removed)
    • NodeList

      public NodeList(DomNode domNode, List<DomNode> initialElements)
      Constructs an instance with an initial cache value.
      Parameters:
      domNode - the parent scope, on which we listen for changes
      initialElements - the initial content for the cache
    • NodeList

      NodeList(org.htmlunit.corejs.javascript.ScriptableObject parentScope)
      Creates an instance.
      Parameters:
      parentScope - the parent scope
  • Method Details

    • jsConstructor

      public void jsConstructor()
      JavaScript constructor.
    • staticNodeList

      public static NodeList staticNodeList(HtmlUnitScriptable parentScope, List<DomNode> elements)
      Gets a static NodeList.
      Parameters:
      parentScope - the parent scope
      elements - the elements
      Returns:
      an empty collection
    • keys

      public org.htmlunit.corejs.javascript.Scriptable keys()
      Returns an Iterator allowing to go through all keys contained in this object.
      Returns:
      a NativeArrayIterator
    • values

      public org.htmlunit.corejs.javascript.Scriptable values()
      Returns an Iterator allowing to go through all keys contained in this object.
      Returns:
      a NativeArrayIterator
    • entries

      public org.htmlunit.corejs.javascript.Scriptable entries()
      Returns an Iterator allowing to go through all key/value pairs contained in this object.
      Returns:
      a NativeArrayIterator
    • forEach

      public void forEach(Object callback)
      Calls the callback given in parameter once for each value pair in the list, in insertion order.
      Parameters:
      callback - function to execute for each element
    • getLength

      public final int getLength()
      Returns the length.
      Overrides:
      getLength in class AbstractList
      Returns:
      the length
    • item

      public Object item(Object index)
      Returns the item or items corresponding to the specified index or key.
      Parameters:
      index - the index or key corresponding to the element or elements to return
      Returns:
      the element or elements corresponding to the specified index or key
      See Also:
    • call

      public Object call(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, Object[] args)
      Specified by:
      call in interface org.htmlunit.corejs.javascript.Callable
    • create

      protected AbstractList create(DomNode parentScope, List<DomNode> initialElements)
      Constructs a new instance with an initial cache value.
      Overrides:
      create in class AbstractList
      Parameters:
      parentScope - the parent scope, on which we listen for changes
      initialElements - the initial content for the cache
      Returns:
      the newly created instance