Using the Core DOM API
Now that we’ve studied the tree structure of documents and seen how the tree is composed of Node objects, we can move on to study the Node object and document trees in more detail. As I noted previously, the core DOM API is not terribly complex. The following sections contain examples that demonstrate how you can use it to accomplish common tasks.
Traversing a Document
As
we’ve already discussed, the DOM represents an HTML document as
a tree of Node objects. With any tree structure, one of the most
common things to do is traverse the tree, examining each node of the
tree in turn. Example 17-1 shows one way to do this.
It is a JavaScript function that recursively examines a node and all
its children, adding up the number of HTML tags (i.e., Element nodes)
it encounters in the course of the traversal. Note the use of the
childNodes
property of a node. The value of this
property is a NodeList object, which behaves (in JavaScript) like an
array of Node objects. Thus, the function can enumerate all the
children of a given node by looping through the elements of the
childNodes[]
array. By recursing, the function
enumerates not just all children of a given node, but all nodes in
the tree of nodes. Note that this function also demonstrates the use
of the nodeType
property to determine the type of each
node.
Example 17-1. Traversing the nodes of a document
<head> <script> // This function is passed a DOM Node object and checks to see if that node // represents an ...
Get JavaScript: The Definitive Guide, Fourth Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.