Sams Teach Yourself JavaScript in 24 Hours

Sams Teach Yourself JavaScript in 24 Hours

By Michael Moncur

Understanding the Document Object Model

One advantage that JavaScript has over basic HTML is that scripts can manipulate the Web document and its contents. Your script can load a new page into the browser, work with parts of the browser window and document, open new windows, and even modify text within the page dynamically.

To work with the browser and documents, JavaScript uses a hierarchy of parent and child objects called the Document Object Model, or DOM. These objects are organized into a tree-like structure, and represent all of the content and components of a Web document.

Like other objects you've explored, the objects in the DOM have properties, which describe the Web page or document, and methods, which allow you to work with parts of the Web page.

When you refer to an object, you use the parent object name followed by the child object name or names, separated by periods. For example, JavaScript stores objects to represent images in a document as children of the document object. The following refers to the image9 object, a child of the document object, which is a child of the window object:

window.document.image9

The window object is the parent object for all the objects we will be looking at in this hour. Figure 9.1 shows this section of the DOM object hierarchy and a variety of its objects.

09fig01.gif

Figure 9.1 The JavaScript browser object hierarchy.

History of the DOM

Starting with the introduction of JavaScript 1.0 in Netscape 2.0, JavaScript has included objects to represent parts of a Web document and other browser features. However, there was never a true standard. While both Netscape and Microsoft Internet Explorer included many of the same objects, there was no guarantee that the same objects would work the same way in both browsers, let alone in less common browsers.

The bad news is that there are still differences between the browsers—but here's the good news. Since the release of Netscape 3.0 and Internet Explorer 4.0, all the basic objects (those covered in this hour) are supported in much the same way in both browsers, and new DOM standards are supported by the latest versions of Netscape and Internet Explorer.

While all this standardization doesn't change how the objects described in this hour work, you'll be thankful for it as you move into the advanced features of the DOM later in this book.

DOM Levels

The W3C (World-Wide Web Consortium) has recently developed the DOM level 1 standard. This standard defines not only basic objects, but an entire set of objects that encompass all parts of an HTML document. A level 2 DOM standard is also under development.

The basic object hierarchy described in this hour is informally referred to as DOM level 0, and the objects are included in the DOM level 1 standard. You'll learn how to use the full set of Level 1 DOM objects in Part V of this book.

Share ThisShare This

Informit Network