The Elements Collection

Note : Both Netscape and Internet Explorer support the Elements collection (Netscape call it an array).

The Elements collection is an ordered, indexed array, containing a reference to every element on a <FORM> object. The collection is ordered by source order i.e. the order that the elements appear in the document. The Elements collection consists of <INPUT>, <SELECT> and <TEXTAREA> elements. (See those topics for details of the elements properties, methods and events.

Elements Objects would normally be retrieved by their index in the Elements collection (for example document.<FORM>reference.elements(3) contains a reference to the 4th element object on the referenced <FORM>), but a string value can be used, as long as that string is a valid identifier (ID attribute value) for an element in the referenced <FORM>.


The length property returns the number of elements in the collection. Note that the length count starts at 1, not 0 as the elements collection index does. Therefore, the length property may return a value of 5, but to access the 3rd element, you'd need to use document.<FORM>reference.elements(2).property


The item method retrieves single items, or sub-collections from the elements collection. It accepts the following arguments:

elements.item(index, sub-index)

If index is a number, then the method returns a reference to the element object at that position in the elements collections index. I.e.


would make strTag be the tagName property ('INPUT' for <INPUT>, 'SELECT' for <SELECT> etc.) for the third element contained on the <FORM> referenced by <FORM>reference.

If the index property is a string value, then the item method returns a sub-collection, containing a reference to every element in the referenced <FORM> that has its ID or NAME attribute set to the string contained in the index argument. To retrieve certain element objects from this sub-collection, the sub-index argument must be used.

The tags method returns a collection of element objects whose tagName property is the same as the tag argument used for the method. This differs from the item property in that that interrogates ID and NAME values if necessary.


would return a collection of all the <INPUT> objects in the referenced <FORM>.