W3C

Document Object Model (DOM) Level 2 HTML Specification

Version 1.0

W3C Working Draft 07 December 2001

This version:
http://www.w3.org/TR/2001/WD-DOM-Level-2-HTML-20011207
( PostScript file , PDF file , plain text , ZIP file , single HTML file)
Latest version:
http://www.w3.org/TR/DOM-Level-2-HTML
Previous version:
http://www.w3.org/TR/2000/WD-DOM-Level-2-HTML-20001113
Editors:
Johnny Stenback, Netscape
Arnaud Le Hors, W3C team contact until October 1999, then IBM
Philippe Le Hégaret, W3C
Chris Wilson, Microsoft Corp. (for DOM Level 1 after January 1998)
Ian Jacobs, W3C (for DOM Level 1)
Mike Champion, ArborText (for DOM Level 1)
Scott Isaacs, Microsoft Corp. (for DOM Level 1 until January 1998)
Vidur Apparao, Netscape Communications Corp. (for DOM Level 1)

Abstract

This specification defines the Document Object Model Level 2 HTML, a platform- and language-neutral interface that allows programs and scripts to dynamically access and update the content and structure of HTML 4.0 and XHTML 1.0 documents. The Document Object Model Level 2 HTML builds on the Document Object Model Level 2 Core [DOM Level 2 Core].

The DOM Level 2 HTML is made of a set of specific interfaces to manipulate the structure and contents of an HTML document.

Status of this document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. The latest status of this document series is maintained at the W3C.

This is a W3C Last Call Working Draft for review by W3C members and other interested parties. The Last Call review period ends on 7 January 2001. Please send review comments before the review period ends to www-dom@w3.org (archive).

It is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use W3C Working Drafts as reference material or to cite them as other than "work in progress". This is work in progress and does not imply endorsement by, or the consensus of, either W3C or members of the DOM Working Group or members of the HTML Working Group.

This document has been produced as part of the W3C DOM Activity. The authors of this document are the DOM Working Group members.

A list of current W3C Recommendations and other technical documents can be found at http://www.w3.org/TR.

Table of contents

07 December 2001

Expanded Table of Contents

07 December 2001

Copyright Notice

Copyright © 2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.

This document is published under the W3C Document Copyright Notice and License. The bindings within this document are published under the W3C Software Copyright Notice and License. The software license requires "Notice of any changes or modifications to the W3C files, including the date changes were made." Consequently, modified versions of the DOM bindings must document that they do not conform to the W3C standard; in the case of the IDL definitions, the pragma prefix can no longer be 'w3c.org'; in the case of the Java Language binding, the package names can no longer be in the 'org.w3c' package.


Note: This section is a copy of the W3C Document Notice and License and could be found at http://www.w3.org/Consortium/Legal/copyright-documents-19990405.

Copyright © 1994-2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.

http://www.w3.org/Consortium/Legal/

Public documents on the W3C site are provided by the copyright holders under the following license. The software or Document Type Definitions (DTDs) associated with W3C specifications are governed by the Software Notice. By using and/or copying this document, or the W3C document from which this statement is linked, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:

Permission to use, copy, and distribute the contents of this document, or the W3C document from which this statement is linked, in any medium for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the document, or portions thereof, that you use:

  1. A link or URL to the original W3C document.
  2. The pre-existing copyright notice of the original author, or if it doesn't exist, a notice of the form: "Copyright © [$date-of-document] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is preferred, but a textual representation is permitted.)
  3. If it exists, the STATUS of the W3C document.

When space permits, inclusion of the full text of this NOTICE should be provided. We request that authorship attribution be provided in any software, documents, or other items or products that you create pursuant to the implementation of the contents of this document, or any portion thereof.

No right to create modifications or derivatives of W3C documents is granted pursuant to this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or derivatives is sometimes granted by the W3C to individuals complying with those requirements.

THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF.

The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to this document or its contents without specific, written prior permission. Title to copyright in this document will at all times remain with copyright holders.


Note: This section is a copy of the W3C Software Copyright Notice and License and could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720

Copyright © 1994-2001 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved.

http://www.w3.org/Consortium/Legal/

This W3C work (including software, documents, or other related items) is being provided by the copyright holders under the following license. By obtaining, using and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions:

Permission to use, copy, and modify this software and its documentation, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the software and documentation or portions thereof, including modifications, that you make:

  1. The full text of this NOTICE in a location viewable to users of the redistributed or derivative work.
  2. Any pre-existing intellectual property disclaimers. If none exist, then a notice of the following form: "Copyright © [$date-of-software] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. http://www.w3.org/Consortium/Legal/."
  3. Notice of any changes or modifications to the W3C files, including the date changes were made. (We recommend you provide URIs to the location from which the code is derived.)

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.

The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the software without specific, written prior permission. Title to copyright in this software and any associated documentation will at all times remain with copyright holders.

07 December 2001

1. Document Object Model HTML

Editors:
Johnny Stenback, Netscape
Arnaud Le Hors, IBM
Philippe Le Hégaret, W3C
Chris Wilson, Microsoft Corp. (for DOM Level 1 after January 1998)
Ian Jacobs, W3C (for DOM Level 1)
Vidur Apparao, Netscape Communications Corp. (for DOM Level 1)
Mike Champion, ArborText (for DOM Level 1)
Scott Isaacs, Microsoft Corp. (for DOM Level 1 until January 1998)

Table of contents

1.1. Introduction

This section extends the DOM Level 2 Core API [DOM Level 2 Core] to describe objects and methods specific to HTML documents [HTML4.0], and XHTML documents [XHTML 1.0]. In general, the functionality needed to manipulate hierarchical document structures, elements, and attributes will be found in the core section; functionality that depends on the specific elements defined in HTML will be found in this section.

The goals of the HTML-specific DOM API are:

The key differences between the core DOM and the HTML application of DOM is that the HTML Document Object Model exposes a number of convenience methods and properties that are consistent with the existing models and are more appropriate to script writers. In many cases, these enhancements are not applicable to a general DOM because they rely on the presence of a predefined DTD. The transitional or frameset DTD for HTML 4.0, or the XHTML 1.0 DTD are assumed. Interoperability between implementations is only guaranteed for elements and attributes that are specified in the HTML 4.0 and XHTML 1.0 DTDs.

More specifically, this document includes the following specializations for HTML:

The DOM Level 2 includes mechanisms to access and modify style specified through CSS and defines an event model that can be used with HTML documents.

The interfaces found within this section are not mandatory. A DOM application may use the hasFeature(feature, version) method of the DOMImplementation interface with parameter values "HTML" and "2.0" (respectively) to determine whether or not this module is supported by the implementation. In addition to the feature string "HTML", the feature string "XHTML" (version string "2.0") can be used to check if the implementation supports XHTML (this is equivalent to checking the features "XML" and "HTML"). In order to fully support this module, an implementation must also support the "Core" feature defined [DOM Level 2 Core]. Please refer to additional information about conformance in the DOM Level 2 Core specification [DOM Level 2 Core].

A DOM application can use the hasFeature method of the DOMImplementation interface to determine whether they are supported or not. The feature string for all the interfaces listed in this section is "HTML" and the version is "2.0". Note that, since DOM Level 2 HTML is not backward compatible with DOM Level 1 [DOM Level 1], a DOM Level 2 HTML implementation must not claim to implement the feature "HTML" version "1.0". In order to fully support this feature, an implementation needs also to support the "Core" feature defined in the Document Object Model Level 2 Core [DOM Level 2 Core] (see also Conformance).

The interfaces in this specification are designed for HTML 4.0 documents, as well as for XHTML 1.0 documents.

1.2. HTML Application of Core DOM

1.2.1. Naming Conventions

The HTML DOM follows a naming convention for properties, methods, events, collections, and data types. All names are defined as one or more English words concatenated together to form a single string.

1.2.1.1. Properties and Methods

The property or method name starts with the initial keyword in lowercase, and each subsequent word starts with a capital letter. For example, a property that returns document meta information such as the date the file was created might be named "fileDateCreated". In the ECMAScript binding, properties are exposed as properties of a given object. In Java, properties are exposed with get and set methods.

1.2.1.2. Non-HTML 4.0 interfaces and attributes

While most of the interfaces defined below can be mapped directly to elements defined in the HTML 4.0 Recommendation, some of them cannot. Similarly, not all attributes listed below have counterparts in the HTML 4.0 specification (and some do, but have been renamed to avoid conflicts with scripting languages). Interfaces and attribute definitions that have links to the HTML 4.0 specification have corresponding element and attribute definitions there; all others are added by this specification, either for convenience or backwards compatibility with DOM Level 0 implementations.

1.3. XHTML and the HTML DOM

The DOM HTML Level 1 API's [DOM Level 1] were originally intended to be used only for HTML 4.0 documents [HTML4.0] and the APIs were defined well before XHTML 1.0 [XHTML 1.0] became a specification, or was even being worked on by the HTML working group. The biggest difference between HTML 4.0 (and earlier) and XHTML 1.0 (from the DOM point of view) is that XHTML is case sensitive, whereas HTML 4.0 is case insensitive. The HTML case insensitivity is also reflected in the DOM HTML API's in some ways, for instance, element and attribute names are exposed as all upper case (for consistency) when used on an HTML document, regardless of the character case used in the markup. In XHTML everything is case sensitive (since XHTML is based on XML) and element and attribute names must be lower case in the markup. Because of this there are certain things that developers need to keep in mind when writing code that should work on both HTML and XHTML documents. There are basically two things that need to be taken into account, one is that when comparing element or attribute names to strings the string compare needs to be case insensitive, or the element or attribute name needs to be converted into lowercase before comparing against a lowercase string. The other thing is that when calling methods that are case insensitive when used on a HTML document (such as getElementsByTagName() and namedItem()) the string that is passed in should be lower case to work on both HTML and XHTML documents.

1.4. Miscellaneous Object Definitions

Interface HTMLDOMImplementation (introduced in DOM Level 2)

The HTMLDOMImplementation interface extends the DOMImplementation interface with a method for creating an HTML document instance. The core DOMImplementation interface can be used to create XHTML documents by passing the XHTML namespace as the namespace for the root element.


IDL Definition
// Introduced in DOM Level 2:
interface HTMLDOMImplementation : DOMImplementation {
  HTMLDocument       createHTMLDocument(in DOMString title);
};

Methods
createHTMLDocument
Creates an HTMLDocument object with the minimal tree made of the following elements: HTML, HEAD, TITLE, and BODY.
Parameters
title of type DOMString
The title of the document to be set as the content of the TITLE element, through a child Text node.
Return Value

HTMLDocument

A new HTMLDocument object.

No Exceptions
Interface HTMLCollection

An HTMLCollection is a list of nodes. An individual node may be accessed by either ordinal index or the node's name or id attributes.

Note: Collections in the HTML DOM are assumed to be live meaning that they are automatically updated when the underlying document is changed.


IDL Definition
interface HTMLCollection {
  readonly attribute unsigned long   length;
  Node               item(in unsigned long index);
  Node               namedItem(in DOMString name);
};

Attributes
length of type unsigned long, readonly
This attribute specifies the length or size of the list.
Methods
item
This method retrieves a node specified by ordinal index. Nodes are numbered in tree order (depth-first traversal order).
Parameters
index of type unsigned long
The index of the node to be fetched. The index origin is 0.
Return Value

Node

The Node at the corresponding position upon success. A value of null is returned if the index is out of range.

No Exceptions
namedItem
This method retrieves a Node using a name. It first searches for a Node with a matching id attribute. If it doesn't find one, it then searches for a Node with a matching name attribute, but only on those elements that are allowed a name attribute. This method is case insensitive in HTML documents and case sensitive in XHTML documents.
Parameters
name of type DOMString
The name of the Node to be fetched.
Return Value

Node

The Node with a name or id attribute whose value corresponds to the specified string. Upon failure (e.g., no node with this name exists), returns null.

No Exceptions

1.5. Objects related to HTML documents

Interface HTMLDocument

An HTMLDocument is the root of the HTML hierarchy and holds the entire content. Besides providing access to the hierarchy, it also provides some convenience methods for accessing certain sets of information from the document.

The following properties have been deprecated in favor of the corresponding ones for the BODY element:

  • alinkColor
  • background
  • bgColor
  • fgColor
  • linkColor
  • vlinkColor

Note: In DOM Level 2, the method getElementById is inherited from the Document interface where it was moved to.


IDL Definition
interface HTMLDocument : Document {
           attribute DOMString       title;
  readonly attribute DOMString       referrer;
  readonly attribute DOMString       domain;
  readonly attribute DOMString       URL;
           attribute HTMLElement     body;
  readonly attribute HTMLCollection  images;
  readonly attribute HTMLCollection  applets;
  readonly attribute HTMLCollection  links;
  readonly attribute HTMLCollection  forms;
  readonly attribute HTMLCollection  anchors;
           attribute DOMString       cookie;
                                        // raises(DOMException) on setting

  void               open();
  void               close();
  void               write(in DOMString text);
  void               writeln(in DOMString text);
  NodeList           getElementsByName(in DOMString elementName);
};

Attributes
URL of type DOMString, readonly
The absolute URI [RFC2396] of the document.
anchors of type HTMLCollection, readonly
A collection of all the anchor (A) elements in a document with a value for the name attribute.

Note: For reasons of backwards compatibility, the returned set of anchors only contains those anchors created with the name attribute, not those created with the id attribute.

applets of type HTMLCollection, readonly
A collection of all the OBJECT elements that include applets and APPLET (deprecated) elements in a document.
body of type HTMLElement
The element that contains the content for the document. In documents with BODY contents, returns the BODY element. In frameset documents, this returns the outermost FRAMESET element.
cookie of type DOMString
This mutable string attribute denotes persistent state information that (1) is associated with the current frame or document and (2) is composed of information described by the cookies non-terminal of [RFC2965], Section 4.2.2.
If no persistent state information is available for the current frame or document document, then this property's value is an empty string.
When this attribute is read, all cookies are returned as a single string, with each cookie's name-value pair concatenated into a list of name-value pairs, each list item being separated by a ';' (semicolon).
When this attribute is set, the value it is set to should be a string that adheres to the cookie non-terminal of [RFC2965]; that is, it should be a single name-value pair followed by zero or more cookie attribute values. If no domain attribute is specified, then the domain attribute for the new value defaults to the host portion of an absolute URI [RFC2396] of the current frame or document. If no path attribute is specified, then the path attribute for the new value defaults to the absolute path portion of the URI [RFC2396] of the current frame or document. If no max-age attribute is specified, then the max-age attribute for the new value defaults to a user agent defined value. If a cookie with the specified name is already associated with the current frame or document, then the new value as well as the new attributes replace the old value and attributes. If a max-age attribute of 0 is specified for the new value, then any existing cookies of the specified name are removed from the cookie storage.

Note: See [RFC2965] for the semantics of persistent state item attribute value pairs.

Note: The precise nature of a user agent session is not defined by this specification.

Exceptions on setting

DOMException

SYNTAX_ERR: If the new value does not adhere to the cookie syntax specified by [RFC2965].

domain of type DOMString, readonly
The domain name of the server that served the document, or null if the server cannot be identified by a domain name.
forms of type HTMLCollection, readonly
A collection of all the forms of a document.
images of type HTMLCollection, readonly
A collection of all the IMG elements in a document. The behavior is limited to IMG elements for backwards compatibility.
links of type HTMLCollection, readonly
A collection of all AREA elements and anchor (A) elements in a document with a value for the href attribute.
referrer of type DOMString, readonly
Returns the URI [RFC2396] of the page that linked to this page. The value is an empty string if the user navigated to the page directly (not through a link, but, for example, via a bookmark).
title of type DOMString
The title of a document as specified by the TITLE element in the head of the document.
Methods
close
Closes a document stream opened by open() and forces rendering.
No Parameters
No Return Value
No Exceptions
getElementsByName
Returns the (possibly empty) collection of elements whose name value is given by elementName. This method is case sensitive.
Parameters
elementName of type DOMString
The name attribute value for an element.
Return Value

NodeList

The matching elements.

No Exceptions
open
Open a document stream for writing. If a document exists in the target, this method clears it.

Note: This method and the ones following allow a user to add to or replace the structure model of a document using strings of unparsed HTML. At the time of writing alternate methods for providing similar functionality for both HTML and XML documents were being considered (see [DOM Level 3 Abstract Schemas and Load and Save]). The following methods may be deprecated at some point in the future in favor of a more general-purpose mechanism.

No Parameters
No Return Value
No Exceptions
write
Write a string of text to a document stream opened by open(). The text is parsed into the document's structure model.
Parameters
text of type DOMString
The string to be parsed into some structure in the document structure model.
No Return Value
No Exceptions
writeln
Write a string of text followed by a newline character to a document stream opened by open(). The text is parsed into the document's structure model.
Parameters
text of type DOMString
The string to be parsed into some structure in the document structure model.
No Return Value
No Exceptions

1.6. HTML Elements

1.6.1. Property Attributes

HTML attributes are exposed as properties on the element object. The DOM naming conventions always determine the name of the exposed property, and is independent of the case of the attribute in the source document. The data type of the property is in general determined by the type of the attribute as determined by the HTML 4.0 (transitional and frameset) and XHTML 1.0 DTDs. The attributes have the semantics (including case-sensitivity) given in the HTML 4.0 and XHTML 1.0 specifications.

The attributes are exposed as properties for compatibility with DOM Level 0. This usage is deprecated because it can not be generalized to all possible attribute names, as is required both for XML and potentially for future versions of HTML. We recommend the use of generic methods on the core Element interface for setting, getting and removing attributes.

DTD Data Type Object Model Data Type
CDATA DOMString
Value list (e.g., (left | right | center)) DOMString
one-value Value list (e.g., (disabled)) boolean
Number long int

In an HTML document the return value of an attribute that has a data type that is a value list is normalized to lower case (independent of the case of the value in the source document).

For example, if the value of the align attribute on a P element is "Left" (which is not a valid value in XHTML due to the case sensitivity of XHTML) then the value is returned as "left". For attributes with the CDATA data type, the case of the return value is that given in the source document.

The return value of an attribute that is unspecified and does not have a default value is the empty string if the return type is a DOMString, false if the return type is a boolean and 0 if the return type is a number.

1.6.2. Naming Exceptions

To avoid namespace conflicts, an attribute with the same name as a keyword in one of our chosen binding languages is prefixed. For HTML, the prefix used is "html". For example, the for attribute of the LABEL element collides with loop construct naming conventions and is renamed htmlFor.

1.6.3. Exposing Element Type Names (tagName, (nodeName))

If the document is a HTML 4.0 document the element type names exposed through a property are in uppercase. For example, the body element type name is exposed through the tagName property as BODY. If the document is an XHTML 1.0 or above document the element name is exposed as it is written in the XHTML file. This means that the element type names are exposed in lower case for XHTML documents since the XHTML 1.0 DTD defines element type names as lower case, and XHTML, being derived from XML, is case sensitive.

1.6.4. The HTMLElement interface

Interface HTMLElement

All HTML element interfaces derive from this class. Elements that only expose the HTML core attributes are represented by the base HTMLElement interface. These elements are as follows:

  • HEAD
  • special: SUB, SUP, SPAN, BDO
  • font: TT, I, B, U, S, STRIKE, BIG, SMALL
  • phrase: EM, STRONG, DFN, CODE, SAMP, KBD, VAR, CITE, ACRONYM, ABBR
  • list: DD, DT
  • NOFRAMES, NOSCRIPT
  • ADDRESS, CENTER

Note: The style attribute of an HTML element is accessible through the ElementCSSInlineStyle interface which is defined in the CSS module [DOM Level 2 Style Sheets and CSS].


IDL Definition
interface HTMLElement : Element {
           attribute DOMString       id;
           attribute DOMString       title;
           attribute DOMString       lang;
           attribute DOMString       dir;
           attribute DOMString       className;
};

Attributes
className of type DOMString
The class attribute of the element. This attribute has been renamed due to conflicts with the "class" keyword exposed by many languages. See the class attribute definition in HTML 4.0.
dir of type DOMString
Specifies the base direction of directionally neutral text and the directionality of tables. See the dir attribute definition in HTML 4.0.
id of type DOMString
The element's identifier. See the id attribute definition in HTML 4.0.
lang of type DOMString
Language code defined in RFC 1766. See the lang attribute definition in HTML 4.0.
title of type DOMString
The element's advisory title. See the title attribute definition in HTML 4.0.

1.6.5. Object definitions

Interface HTMLHtmlElement

Root of an HTML document. See the HTML element definition in HTML 4.0.


IDL Definition
interface HTMLHtmlElement : HTMLElement {
           attribute DOMString       version;
};

Attributes
version of type DOMString
Version information about the document's DTD. See the version attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLHeadElement

Document head information. See the HEAD element definition in HTML 4.0.


IDL Definition
interface HTMLHeadElement : HTMLElement {
           attribute DOMString       profile;
};

Attributes
profile of type DOMString
URI [RFC2396] designating a metadata profile. See the profile attribute definition in HTML 4.0.
Interface HTMLLinkElement

The LINK element specifies a link to an external resource, and defines this document's relationship to that resource (or vice versa). See the LINK element definition in HTML 4.0 (see also the LinkStyle interface in the StyleSheet module [DOM Level 2 Style Sheets and CSS]).


IDL Definition
interface HTMLLinkElement : HTMLElement {
           attribute boolean         disabled;
           attribute DOMString       charset;
           attribute DOMString       href;
           attribute DOMString       hreflang;
           attribute DOMString       media;
           attribute DOMString       rel;
           attribute DOMString       rev;
           attribute DOMString       target;
           attribute DOMString       type;
};

Attributes
charset of type DOMString
The character encoding of the resource being linked to. See the charset attribute definition in HTML 4.0.
disabled of type boolean
Enables/disables the link. This is currently only used for style sheet links, and may be used to activate or deactivate style sheets.
href of type DOMString
The URI [RFC2396] of the linked resource. See the href attribute definition in HTML 4.0.
hreflang of type DOMString
Language code of the linked resource. See the hreflang attribute definition in HTML 4.0.
media of type DOMString
Designed for use with one or more target media. See the media attribute definition in HTML 4.0.
rel of type DOMString
Forward link type. See the rel attribute definition in HTML 4.0.
rev of type DOMString
Reverse link type. See the rev attribute definition in HTML 4.0.
target of type DOMString
Frame to render the resource in. See the target attribute definition in HTML 4.0.
type of type DOMString
Advisory content type. See the type attribute definition in HTML 4.0.
Interface HTMLTitleElement

The document title. See the TITLE element definition in HTML 4.0.


IDL Definition
interface HTMLTitleElement : HTMLElement {
           attribute DOMString       text;
};

Attributes
text of type DOMString
The specified title as a string.
Interface HTMLMetaElement

This contains generic meta-information about the document. See the META element definition in HTML 4.0.


IDL Definition
interface HTMLMetaElement : HTMLElement {
           attribute DOMString       content;
           attribute DOMString       httpEquiv;
           attribute DOMString       name;
           attribute DOMString       scheme;
};

Attributes
content of type DOMString
Associated information. See the content attribute definition in HTML 4.0.
httpEquiv of type DOMString
HTTP response header name [RFC2616]. See the http-equiv attribute definition in HTML 4.0.
name of type DOMString
Meta information name. See the name attribute definition in HTML 4.0.
scheme of type DOMString
Select form of content. See the scheme attribute definition in HTML 4.0.
Interface HTMLBaseElement

Document base URI [RFC2396]. See the BASE element definition in HTML 4.0.


IDL Definition
interface HTMLBaseElement : HTMLElement {
           attribute DOMString       href;
           attribute DOMString       target;
};

Attributes
href of type DOMString
The base URI [RFC2396]. See the href attribute definition in HTML 4.0.
target of type DOMString
The default target frame. See the target attribute definition in HTML 4.0.
Interface HTMLIsIndexElement

This element is used for single-line text input. See the ISINDEX element definition in HTML 4.0. This element is deprecated in HTML 4.0.


IDL Definition
interface HTMLIsIndexElement : HTMLElement {
  readonly attribute HTMLFormElement form;
           attribute DOMString       prompt;
};

Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
prompt of type DOMString
The prompt message. See the prompt attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLStyleElement

Style information. See the STYLE element definition in HTML 4.0, the CSS module [DOM Level 2 Style Sheets and CSS] and the LinkStyle interface in the StyleSheets module [DOM Level 2 Style Sheets and CSS].


IDL Definition
interface HTMLStyleElement : HTMLElement {
           attribute boolean         disabled;
           attribute DOMString       media;
           attribute DOMString       type;
};

Attributes
disabled of type boolean
Enables/disables the style sheet.
media of type DOMString
Designed for use with one or more target media. See the media attribute definition in HTML 4.0.
type of type DOMString
The content type of the style sheet language. See the type attribute definition in HTML 4.0.
Interface HTMLBodyElement

The HTML document body. This element is always present in the DOM API, even if the tags are not present in the source document. See the BODY element definition in HTML 4.0.


IDL Definition
interface HTMLBodyElement : HTMLElement {
           attribute DOMString       aLink;
           attribute DOMString       background;
           attribute DOMString       bgColor;
           attribute DOMString       link;
           attribute DOMString       text;
           attribute DOMString       vLink;
};

Attributes
aLink of type DOMString
Color of active links (after mouse-button down, but before mouse-button up). See the alink attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
background of type DOMString
URI [RFC2396] of the background texture tile image. See the background attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
bgColor of type DOMString
Document background color. See the bgcolor attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
link of type DOMString
Color of links that are not active and unvisited. See the link attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
text of type DOMString
Document text color. See the text attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
vLink of type DOMString
Color of links that have been visited by the user. See the vlink attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
Interface HTMLFormElement

The FORM element encompasses behavior similar to a collection and an element. It provides direct access to the contained form controls as well as the attributes of the form element. See the FORM element definition in HTML 4.0.


IDL Definition
interface HTMLFormElement : HTMLElement {
  readonly attribute HTMLCollection  elements;
  readonly attribute long            length;
           attribute DOMString       name;
           attribute DOMString       acceptCharset;
           attribute DOMString       action;
           attribute DOMString       enctype;
           attribute DOMString       method;
           attribute DOMString       target;
  void               submit();
  void               reset();
};

Attributes
acceptCharset of type DOMString
List of character sets supported by the server. See the accept-charset attribute definition in HTML 4.0.
action of type DOMString
Server-side form handler. See the action attribute definition in HTML 4.0.
elements of type HTMLCollection, readonly
Returns a collection of all form control elements in the form.
enctype of type DOMString
The content type of the submitted form, generally "application/x-www-form-urlencoded". See the enctype attribute definition in HTML 4.0.
length of type long, readonly
The number of form controls in the form.
method of type DOMString
HTTP method [RFC2616] used to submit form. See the method attribute definition in HTML 4.0.
name of type DOMString
Names the form.
target of type DOMString
Frame to render the resource in. See the target attribute definition in HTML 4.0.
Methods
reset
Restores a form element's default values. It performs the same action as a reset button.
No Parameters
No Return Value
No Exceptions
submit
Submits the form. It performs the same action as a submit button.
No Parameters
No Return Value
No Exceptions
Interface HTMLSelectElement

The select element allows the selection of an option. The contained options can be directly accessed through the select element as a collection. See the SELECT element definition in HTML 4.0.


IDL Definition
interface HTMLSelectElement : HTMLElement {
  readonly attribute DOMString       type;
           attribute long            selectedIndex;
           attribute DOMString       value;
  readonly attribute long            length;
  readonly attribute HTMLFormElement form;
  readonly attribute HTMLCollection  options;
           attribute boolean         disabled;
           attribute boolean         multiple;
           attribute DOMString       name;
           attribute long            size;
           attribute long            tabIndex;
  void               add(in HTMLElement element, 
                         in HTMLElement before)
                                        raises(DOMException);
  void               remove(in long index);
  void               blur();
  void               focus();
};

Attributes
disabled of type boolean
The control is unavailable in this context. See the disabled attribute definition in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
length of type long, readonly
The number of options in this SELECT.
multiple of type boolean
If true, multiple OPTION elements may be selected in this SELECT. See the multiple attribute definition in HTML 4.0.
name of type DOMString
Form control or object name when submitted with a form. See the name attribute definition in HTML 4.0.
options of type HTMLCollection, readonly
The collection of OPTION elements contained by this element.
selectedIndex of type long
The ordinal index of the selected option, starting from 0. The value -1 is returned if no element is selected. If multiple options are selected, the index of the first selected option is returned.
size of type long
Number of visible rows. See the size attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString, readonly
The type of this form control. This is the string "select-multiple" when the multiple attribute is true and the string "select-one" when false.
value of type DOMString
The current form control value (i.e. the value of the currently selected option), if multiple options are selected this is the value of the first selected option.
Methods
add
Add a new element to the collection of OPTION elements for this SELECT. This method is the equivalent of the appendChild method of the Node interface if the before parameter is null. It is equivalent to the insertBefore method on the parent of before in all other cases.
Parameters
element of type HTMLElement
The element to add.
before of type HTMLElement
The element to insert before, or null for the tail of the list.
Exceptions

DOMException

NOT_FOUND_ERR: Raised if before is not a descendant of the SELECT element.

No Return Value
blur
Removes keyboard focus from this element.
No Parameters
No Return Value
No Exceptions
focus
Gives keyboard focus to this element.
No Parameters
No Return Value
No Exceptions
remove
Remove an element from the collection of OPTION elements for this SELECT. Does nothing if no element has the given index.
Parameters
index of type long
The index of the item to remove, starting from 0.
No Return Value
No Exceptions
Interface HTMLOptGroupElement

Group options together in logical subdivisions. See the OPTGROUP element definition in HTML 4.0.


IDL Definition
interface HTMLOptGroupElement : HTMLElement {
           attribute boolean         disabled;
           attribute DOMString       label;
};

Attributes
disabled of type boolean
The control is unavailable in this context. See the disabled attribute definition in HTML 4.0.
label of type DOMString
Assigns a label to this option group. See the label attribute definition in HTML 4.0.
Interface HTMLOptionElement

A selectable choice. See the OPTION element definition in HTML 4.0.


IDL Definition
interface HTMLOptionElement : HTMLElement {
  readonly attribute HTMLFormElement form;
           attribute boolean         defaultSelected;
  readonly attribute DOMString       text;
  readonly attribute long            index;
           attribute boolean         disabled;
           attribute DOMString       label;
           attribute boolean         selected;
           attribute DOMString       value;
};

Attributes
defaultSelected of type boolean
Represents the value of the HTML selected attribute. The value of this attribute does not change if the state of the corresponding form control, in an interactive user agent, changes. See the selected attribute definition in HTML 4.0.
disabled of type boolean
The control is unavailable in this context. See the disabled attribute definition in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
index of type long, readonly
The index of this OPTION in its parent SELECT, starting from 0.
label of type DOMString
Option label for use in hierarchical menus. See the label attribute definition in HTML 4.0.
selected of type boolean
Represents the current state of the corresponding form control, in an interactive user agent. Changing this attribute changes the state of the form control, but does not change the value of the HTML selected attribute of the element.
text of type DOMString, readonly
The text contained within the option element.
value of type DOMString
The current form control value. See the value attribute definition in HTML 4.0.
Interface HTMLInputElement

Form control.

Note: Depending upon the environment in which the page is being viewed, the value property may be read-only for the file upload input type. For the "password" input type, the actual value returned may be masked to prevent unauthorized use. See the INPUT element definition in [HTML4.0].


IDL Definition
interface HTMLInputElement : HTMLElement {
           attribute DOMString       defaultValue;
           attribute boolean         defaultChecked;
  readonly attribute HTMLFormElement form;
           attribute DOMString       accept;
           attribute DOMString       accessKey;
           attribute DOMString       align;
           attribute DOMString       alt;
           attribute boolean         checked;
           attribute boolean         disabled;
           attribute long            maxLength;
           attribute DOMString       name;
           attribute boolean         readOnly;
           attribute DOMString       size;
           attribute DOMString       src;
           attribute long            tabIndex;
  // Modified in DOM Level 2:
           attribute DOMString       type;
           attribute DOMString       useMap;
           attribute DOMString       value;
  void               blur();
  void               focus();
  void               select();
  void               click();
};

Attributes
accept of type DOMString
A comma-separated list of content types that a server processing this form will handle correctly. See the accept attribute definition in HTML 4.0.
accessKey of type DOMString
A single character access key to give access to the form control. See the accesskey attribute definition in HTML 4.0.
align of type DOMString
Aligns this object (vertically or horizontally) with respect to its surrounding text. See the align attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
alt of type DOMString
Alternate text for user agents not rendering the normal content of this element. See the alt attribute definition in HTML 4.0.
checked of type boolean
When the type attribute of the element has the value "radio" or "checkbox", this represents the current state of the form control, in an interactive user agent. Changes to this attribute change the state of the form control, but do not change the value of the HTML value attribute of the element.
defaultChecked of type boolean
When type has the value "radio" or "checkbox", this represents the HTML checked attribute of the element. The value of this attribute does not change if the state of the corresponding form control, in an interactive user agent, changes. See the checked attribute definition in HTML 4.0.
defaultValue of type DOMString
When the type attribute of the element has the value "text", "file" or "password", this represents the HTML value attribute of the element. The value of this attribute does not change if the contents of the corresponding form control, in an interactive user agent, changes. See the value attribute definition in HTML 4.0.
disabled of type boolean
The control is unavailable in this context. See the disabled attribute definition in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
maxLength of type long
Maximum number of characters for text fields, when type has the value "text" or "password". See the maxlength attribute definition in HTML 4.0.
name of type DOMString
Form control or object name when submitted with a form. See the name attribute definition in HTML 4.0.
readOnly of type boolean
This control is read-only. Relevant only when type has the value "text" or "password". See the readonly attribute definition in HTML 4.0.
size of type DOMString
Size information. The precise meaning is specific to each type of field. See the size attribute definition in HTML 4.0.
src of type DOMString
When the type attribute has the value "image", this attribute specifies the location of the image to be used to decorate the graphical submit button. See the src attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString, modified in DOM Level 2
The type of control created (all lower case). See the type attribute definition in HTML 4.0.
useMap of type DOMString
Use client-side image map. See the usemap attribute definition in HTML 4.0.
value of type DOMString
When the type attribute of the element has the value "text", "file" or "password", this represents the current contents of the corresponding form control, in an interactive user agent. Changing this attribute changes the contents of the form control, but does not change the value of the HTML value attribute of the element. When the type attribute of the element has the value "button", "hidden", "submit", "reset", "image", "checkbox" or "radio", this represents the HTML value attribute of the element. See the value attribute definition in HTML 4.0.
Methods
blur
Removes keyboard focus from this element.
No Parameters
No Return Value
No Exceptions
click
Simulate a mouse-click. For INPUT elements whose type attribute has one of the following values: "button", "checkbox", "radio", "reset", or "submit".
No Parameters
No Return Value
No Exceptions
focus
Gives keyboard focus to this element.
No Parameters
No Return Value
No Exceptions
select
Select the contents of the text area. For INPUT elements whose type attribute has one of the following values: "text", "file", or "password".
No Parameters
No Return Value
No Exceptions
Interface HTMLTextAreaElement

Multi-line text field. See the TEXTAREA element definition in HTML 4.0.


IDL Definition
interface HTMLTextAreaElement : HTMLElement {
           attribute DOMString       defaultValue;
  readonly attribute HTMLFormElement form;
           attribute DOMString       accessKey;
           attribute long            cols;
           attribute boolean         disabled;
           attribute DOMString       name;
           attribute boolean         readOnly;
           attribute long            rows;
           attribute long            tabIndex;
  readonly attribute DOMString       type;
           attribute DOMString       value;
  void               blur();
  void               focus();
  void               select();
};

Attributes
accessKey of type DOMString
A single character access key to give access to the form control. See the accesskey attribute definition in HTML 4.0.
cols of type long
Width of control (in characters). See the cols attribute definition in HTML 4.0.
defaultValue of type DOMString
Represents the contents of the element. The value of this attribute does not change if the contents of the corresponding form control, in an interactive user agent, changes.
disabled of type boolean
The control is unavailable in this context. See the disabled attribute definition in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
name of type DOMString
Form control or object name when submitted with a form. See the name attribute definition in HTML 4.0.
readOnly of type boolean
This control is read-only. See the readonly attribute definition in HTML 4.0.
rows of type long
Number of text rows. See the rows attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString, readonly
The type of this form control. This the string "textarea".
value of type DOMString
Represents the current contents of the corresponding form control, in an interactive user agent. Changing this attribute changes the contents of the form control, but does not change the contents of the element. If the entirety of the data can not fit into a single DOMString, the implementation may truncate the data.
Methods
blur
Removes keyboard focus from this element.
No Parameters
No Return Value
No Exceptions
focus
Gives keyboard focus to this element.
No Parameters
No Return Value
No Exceptions
select
Select the contents of the TEXTAREA.
No Parameters
No Return Value
No Exceptions
Interface HTMLButtonElement

Push button. See the BUTTON element definition in HTML 4.0.


IDL Definition
interface HTMLButtonElement : HTMLElement {
  readonly attribute HTMLFormElement form;
           attribute DOMString       accessKey;
           attribute boolean         disabled;
           attribute DOMString       name;
           attribute long            tabIndex;
  readonly attribute DOMString       type;
           attribute DOMString       value;
};

Attributes
accessKey of type DOMString
A single character access key to give access to the form control. See the accesskey attribute definition in HTML 4.0.
disabled of type boolean
The control is unavailable in this context. See the disabled attribute definition in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
name of type DOMString
Form control or object name when submitted with a form. See the name attribute definition in HTML 4.0.
tabIndex of type long
Index that represents the element's position in the tabbing order. See the tabindex attribute definition in HTML 4.0.
type of type DOMString, readonly
The type of button (all lower case). See the type attribute definition in HTML 4.0.
value of type DOMString
The current form control value. See the value attribute definition in HTML 4.0.
Interface HTMLLabelElement

Form field label text. See the LABEL element definition in HTML 4.0.


IDL Definition
interface HTMLLabelElement : HTMLElement {
  readonly attribute HTMLFormElement form;
           attribute DOMString       accessKey;
           attribute DOMString       htmlFor;
};

Attributes
accessKey of type DOMString
A single character access key to give access to the form control. See the accesskey attribute definition in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
htmlFor of type DOMString
This attribute links this label with another form control by id attribute. See the for attribute definition in HTML 4.0.
Interface HTMLFieldSetElement

Organizes form controls into logical groups. See the FIELDSET element definition in HTML 4.0.


IDL Definition
interface HTMLFieldSetElement : HTMLElement {
  readonly attribute HTMLFormElement form;
};

Attributes
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
Interface HTMLLegendElement

Provides a caption for a FIELDSET grouping. See the LEGEND element definition in HTML 4.0.


IDL Definition
interface HTMLLegendElement : HTMLElement {
  readonly attribute HTMLFormElement form;
           attribute DOMString       accessKey;
           attribute DOMString       align;
};

Attributes
accessKey of type DOMString
A single character access key to give access to the form control. See the accesskey attribute definition in HTML 4.0.
align of type DOMString
Text alignment relative to FIELDSET. See the align attribute definition in HTML 4.0. This attribute is deprecated in HTML 4.0.
form of type HTMLFormElement, readonly
Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
Interface HTMLUListElement

Unordered list. See the UL element definition in HTML 4.0.


IDL Definition
interface HTMLUListElement : HTMLElement {
           attribute boolean         compact;
           attribute DOMString       type;
};