public class HTMLCollection extends AbstractList implements org.htmlunit.corejs.javascript.Callable
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
.
AbstractList.EffectOnCache
org.htmlunit.corejs.javascript.ScriptableObject.KeyComparator
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
NOT_FOUND
Constructor and Description |
---|
HTMLCollection()
Creates an instance.
|
HTMLCollection(DomNode domNode,
boolean attributeChangeSensitive)
Creates an instance.
|
Modifier and Type | Method and Description |
---|---|
Object |
call(org.htmlunit.corejs.javascript.Context cx,
org.htmlunit.corejs.javascript.Scriptable scope,
org.htmlunit.corejs.javascript.Scriptable thisObj,
Object[] args) |
protected HTMLCollection |
create(DomNode parentScope,
List<DomNode> initialElements)
Constructs a new instance with an initial cache value.
|
static HTMLCollection |
emptyCollection(DomNode domNode)
Gets an empty collection.
|
int |
getLength()
Returns the length.
|
protected Object |
getWithPreemptionByName(String name,
List<DomNode> elements)
Helper for
AbstractList.getWithPreemption(String) when finding by id doesn't get results. |
protected boolean |
isGetWithPreemptionSearchName()
Returns whether
AbstractList.getWithPreemption(String) should search by name or not. |
Object |
item(Object index)
Returns the item or items corresponding to the specified index or key.
|
org.htmlunit.corejs.javascript.Scriptable |
iterator() |
void |
jsConstructor()
JavaScript constructor.
|
org.htmlunit.corejs.javascript.Scriptable |
namedItem(String name)
Retrieves the item or items corresponding to the specified name (checks ids, and if
that does not work, then names).
|
protected boolean |
supportsParentheses()
Is parentheses supported.
|
avoidObjectDetection, defineProperty, equivalentValues, getArrayElement, getArrayLength, getElements, getElementSupplier, getIsMatchingPredicate, getIt, getScriptableForElement, getWithPreemption, setArrayElement, setAvoidObjectDetection, setDomNode, setEffectOnCacheFunction, setElementsSupplier, setIsMatchingPredicate, toString
clone, get, getBrowserVersion, getClassName, getDefaultValue, getDomNodeOrDie, getDomNodeOrNull, getPrototype, getScriptableFor, getWindow, getWindow, getWindowFromTopCallScope, has, hasInstance, initParentScope, makeScriptableFor, put, setClassName, setDomNode, setParentScope, setupPromise, setupRejectedPromise
applyDescriptorToAttributeBitset, associateValue, 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
public HTMLCollection()
public HTMLCollection(DomNode domNode, boolean attributeChangeSensitive)
domNode
- parent scopeattributeChangeSensitive
- indicates if the content of the collection may change when an attribute
of a descendant node of parentScope changes (attribute added, modified or removed)public void jsConstructor()
public static HTMLCollection emptyCollection(DomNode domNode)
domNode
- the DOM nodeprotected HTMLCollection create(DomNode parentScope, List<DomNode> initialElements)
create
in class AbstractList
parentScope
- the parent scope, on which we listen for changesinitialElements
- the initial content for the cachepublic org.htmlunit.corejs.javascript.Scriptable iterator()
public final int getLength()
getLength
in class AbstractList
public Object call(org.htmlunit.corejs.javascript.Context cx, org.htmlunit.corejs.javascript.Scriptable scope, org.htmlunit.corejs.javascript.Scriptable thisObj, Object[] args)
call
in interface org.htmlunit.corejs.javascript.Callable
protected boolean supportsParentheses()
protected Object getWithPreemptionByName(String name, List<DomNode> elements)
AbstractList.getWithPreemption(String)
when finding by id doesn't get results.getWithPreemptionByName
in class AbstractList
name
- the property nameelements
- the children elements.Scriptable.NOT_FOUND
if not foundprotected boolean isGetWithPreemptionSearchName()
AbstractList.getWithPreemption(String)
should search by name or not.AbstractList.getWithPreemption(String)
should search by name or notpublic Object item(Object index)
index
- the index or key corresponding to the element or elements to returnpublic org.htmlunit.corejs.javascript.Scriptable namedItem(String name)
name
- the name or id the element or elements to returnCopyright © 2002–2024 Gargoyle Software Inc.. All rights reserved.