<html>
<link rel="stylesheet" href="josh.css">
<body bgcolor="#FFFFFF">

		<div id="Description">
			<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
				<tr><td valign="top" class="name">HTMLElement</td><td valign="top" nowrap class="compatibility">NN <span class="emphasis">6</span>  IE <span class="emphasis">5(Mac)/6(Win)</span>  DOM <span class="emphasis">1</span>&nbsp;&nbsp;</td>
				</tr>
				<tr>
					<td valign="top" nowrap class="usage"><p class="literal"></p>
					</td><td valign="top" nowrap class="requirements">&nbsp;&nbsp;</td>
				</tr>
				<tr>
					<td valign="top" colspan="2" class="description">
						<p>Every scriptable element object in modern browsers is, at its core, a
descendant of the basic <span class="literal">HTMLElement</span> abstract
object in the W3C DOM. The <span class="literal">HTMLElement</span>, itself,
inherits properties and methods from the <span class="literal">Node</span> and
<span class="literal">Element</span> chain in the core DOM module. To this
inherited set of features, the <span class="literal">HTMLElement</span> adds
properties that apply to HTML elements (in contrast to XML elements),
including the <span class="literal">className</span>, <span class="literal">dir</span>,
<span class="literal">id</span>, <span class="literal">lang</span>, and
<span class="literal">title</span> properties. All individual HTML element
objects, such as <span class="literal">HTMLBodyElement</span> and
<span class="literal">HTMLFormElement</span>, inherit their characteristics
from the <span class="literal">HTMLElement</span> object.
That's one reason why the list of shared properties
and methods at the beginning of this chapter is so long: it includes
items inherited from the long chain of <span class="literal">Node</span> to
<span class="literal">Element</span> to <span class="literal">HTMLElement</span>.
</p>
							</td>
						</tr>
						<tr>
							<td valign="top" colspan="2" class="CLEARSEPARATION">&nbsp;</td>
						</tr>
						<tr>
							<td colspan="2"><p>			The terminology of the DOM abstract object names (e.g.,
<span class="literal">HTMLBodyElement</span>) is not essential knowledge to
scripting element objects. That is to say, the abstract object names
almost never appear in scripts because scripts reference instances of
such HTML objects by way of their identifiers or through properties
of other objects (such as
<span class="replaceable">eventObject</span><span class="literal">.target</span>).
The only place you are likely to see these abstract names is during
debugging, when you use <span class="literal">alert( )</span> methods or other
tools to inspect the object referenced by a variable. Netscape 6
reports such object references as instances of a specific HTML
element class (e.g., <span class="literal">HTMLParagraphElement</span> or
<span class="literal">HTMLInputElement</span>). This information, in itself, is
often far more helpful than IE's reporting of the
reference being just <span class="literal">[object]</span>.
</p>
												</td>
</tr>
			</table>
		</div>

</body>
</html>