Availability
DOM Level 1 Core
Properties
readonly unsigned long length
The number
of nodes in the array.
Methods
item( )
Returns the specified element of the array.
Description
The NodeList interface defines a read-only ordered list (i.e., an
array) of Node objects. The length property
specifies how many nodes are in the list, and the item(
) method allows you to obtain the node at a specified
position in the list. The elements of a NodeList are always valid
Node objects: NodeLists never contain null
elements.
In JavaScript, NodeList objects behave like JavaScript arrays, and
you can query an element from the list using square-bracket array
notation instead of calling the item( ) method.
However, you cannot assign new nodes to a NodeList using square
brackets. Since it is always easier to think of a NodeList object as
a read-only JavaScript array, this book uses the notation
Node[] (i.e., a Node array) instead of NodeList.
See Element.getElementsByTagName( ), for example, which
is listed as returning a Node[] instead of a
NodeList object. Similarly, the childNodes
property of the Node object is technically a NodeList object, but the
"Node" reference page defines it as a
Node[], and the property itself is usually
referred to as "the childNodes[]
array."
Note that NodeList objects are "live": they are not
static, but immediately reflect changes to the document tree. For
example, if you have a NodeList that represents the children of a
specific node and you then delete one of those children, the child
will be removed from your NodeList. Be careful when you are looping
through the elements of a NodeList if the body of your loop makes
changes to the document tree (such as deleting nodes) that may affect
the contents of the NodeList!
See Also
NamedNodeMap
Type of
Node.childNodes
Returned by
Document.getElementsByTagName( ), Document.getElementsByTagNameNS( ),Element.getElementsByTagName( ), Element.getElementsByTagNameNS( ),HTMLDocument.getElementsByName( )