Cette section étend l'API principale de niveau 1 en décrivant les objets et les méthodes spécifiques aux documents HTML. En général, fonctionnalités nécessaires pour manipuler la structure des documents pour manipuler la structure des documents hiérarchiques, leurs éléments et leurs attributs se trouvent dans la section qui présente l'API principale. La section courante quant à elle présente les fonctionnalités relatives aux éléments spécifiques définis en HTML.
Les objectifs de l'API DOM spécifique à HTML sont:
Le terme "DOM de niveau 0" fait référence à un ensemble (non spécifié formellement) de fonctionnalités des documents HTML offertes par Netscape Navigator version 3.0 et Microsoft Internet Explorer version 3.0. Dans certains cas, des attributs et des méthodes ont été ajoutés afin d'assurer une compatibilité ascendante avec le "DOM de niveau 0".
La principale différence entre le DOM principal et l'application au HTML de DOM est que le modèle objet d'un document HTML propose un certain nombre de méthodes et de propriétés qui sont cohérentes avec les modèles existants et plus appropriées à l'usage de scripts. Dans beaucoup de cas, ces ajouts ne sont pas applicables au modèle général de DOM car ils s'appuient sur la présence d'un DTD prédéfini. Dans le cas d'un DOM de niveau 1, les DTDs "Transitional" et "Frameset" de HTML 4.0 servent de référence. L'interopérabilité entre les implémentations n'est garantie que pour les éléments et les attributs qui sont spécifiés dans ces DTDs.
Plus précisément, ce document inclut les spécialisations suivantes pour le HTML:
Le DOM de niveau 1 ne contient pas de mécanismes pour accéder et modifier
les styles au format CSS 1. De plus, il ne définit pas de modèle événementiel
pour les documents HTML. Il est prévu de développer cette fonctionnalité dans
un prochain niveau de la spécification.
Le DOM HTML respecte une convention de nommage pour les propriétés, les méthodes, les évènements, les collections et les types de données. Tous les noms sont définis par la concaténation d'un ou plusieurs mots anglais en une chaîne de caractères.
Propriétés et méthodes
Un nom de méthode ou de propriété commence par un premier mot en minuscule, suivi par d'autres mots dont la première lettre est en majuscule. Par exemple, une propriété qui retourne une meta-information telle que la date de création du fichier pourrait être nommée "dateDeCréationDuFichier". Selon les spécifications du langage ECMAScript, les propriétés sont exposées en tant propriétés d'un objet donné. En Java, les propriétés et les méthodes sont exposées à partir de méthodes get et set.
Interfaces et méthodes non HTML 4.0
Bien que la plupart des interfaces définies ci-après puissent être
directement rattachées à des éléments définis dans la recommandation HTML 4.0,
certaines ne le peuvent pas. Parallèlement, certains des attributs définis
ci-dessous n'ont pas d'équivalents en HTML 4.0 (et ceux qui en ont ont été
renommés pour éviter des conflits avec les langages de script). Les interfaces
et les définitions d'attributs pour lesquels on trouve des liens avec le HTML
4.0, possèdent ici des éléments et des définitions d'attributs équivalents ;
tous les autres sont ajoutés par cette spécification, pour des raisons de
commodité ou de compatibilité ascendante avec les implémentations du "DOM
niveau 0".
Un objet HTMLCollection est une liste de noeuds. On
peut accéder à un noeud individuel soit par son rang dans la liste, soit
par l'un de ses attributs name ou id.
Remarque: Les collections du DOM HTML sont dynamiques c'est à
dire qu'elles sont automatiquement mises à jour lorsque le document est
modifié.
interface HTMLCollection {
readonly attribute unsigned long length;
Node item(in unsigned long index);
Node namedItem(in DOMString name);
};
lengthitemindex |
L'index du noeud à atteindre. L'origine a pour index 0. |
Noeud
situé à la position correspondante en cas de succès.
Une valeur null est retournée si l'index
est en dehors de la liste.namedItemNoeud
à partir d'un nom. Elle recherche d'abord un Noeud
ayant un attribut id identique. Si elle n'en trouve
pas, elle recherche alors un Noeud
ayant un attribut name de valeur correspondante,
mais seulement avec les éléments pour lequel cet attribut
est autorisé.
name |
Le nom du |
Noeud
dont l'attribut name ou id a
pour valeur la chaîne de caractère recherchée. En cas
d'échec (ex. aucun noeud ayant ce nom existe), la
valeur retournée est null.Un HTMLDocument est la racine de la hiérarchie HTML et
détient l'ensemble du contenu. De plus, tout en donnant accès à la
hiérarchie, il offre aussi des méthodes pratiques d'accès à un certaines
collections d'information du document.
Les propriétés suivantes ont été déclarées obsolètes en faveur des propriétés équivalentes de l'élément BODY:
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;
void open();
void close();
void write(in DOMString text);
void writeln(in DOMString text);
Element getElementById(in DOMString elementId);
NodeList getElementsByName(in DOMString elementName);
};
title
TITLE dans l'entête du document.referrerdomainURLbodyBODY,
retourne l'élément BODY, et pour les documents
de type ensemble de cadres, retourne l'élément
FRAMESET le plus à l'extérieurimages IMG du
document. La limitation aux éléments IMG est
due à des problèmes de compatibilité ascendante.applets OBJECT qui
incluent des applets et des éléments APPLET
(obsolète) du document.links AREA et
de tous les ancres (A) dont l'attribut
href est renseigné.formsanchorsA) porteur d'un attribut name à
valeur non nulle. Remarque : Pour des problèmes de
compatibilité ascendante, l'ensemble retourné ne contient
que les ancres porteurs de l'attribut name, ceux
portant l'attribut id étant ignorés.cookiename=value;expires=date.openOuvre un flux en écriture sur le document. Si le document
cible existe, la méthode efface son contenu.
Cette méthode n'a pas de paramètres.
Cette méthode ne retourne aucune valeur.
Cette méthode ne déclenche pas d'exceptions.
close open() et
force l'affichage.writeopen(). Le texte est
intégré dans le modèle de la structure du document.
text |
La chaîne de caractères à intégrer dans le modèle de la structure du document. |
writelntext |
La chaîne de caractères à intégrer dans le modèle de la structure du document. |
getElementById id est donné par
elementId. Si un tel élément n'existe pas,
renvoie null. Le comportement n'est pas defini
si plus d'un élément existe ayant cet id.
elementId |
La valeur unique de l' |
getElementsByName name est donnée par
elementName.
elementName |
La valeur de l'attribut |
Les attributs HTML sont exposés comme des propriétés des objets
Element. Le nom de la propriété exposée utilise toujours la
convention de nommage, et est indépendant de la casse de l'attribut dans le
document source. Le type de donnée de la propriété est déterminé par le type
de l'attribut tel qu'il est défini par le HTML 4.0 transitional and frameset
DTDs. Les attributs possèdent la sémantique (y compris le respect de la casse)
défini par la spécification HTML 4.0.
Les attributs sont exposés comme des propriétés pour des raisons de
compatibilité avec "DOM Level 0". Cette usage est obsolète car il ne peut pas
être généralisé à tous les noms d'attributs, tel que le nécessitent le XML et
potentiellement les futures versions de HTML. Nous recommandons l'utilisation
de méthodes génériques sur l'interface Element principale pour
obtenir, modifier ou effacer des attributs.
| DTD Data Type | Object Model Data Type |
| CDATA | DOMString |
| Liste de valeurs (ex., (left | right | center)) | DOMString |
| Valeur d'une liste de valeurs (ex., (border)) | boolean |
| Nombre | long int |
La valeur de retour d'un attribut dont le type de donnée est une liste de
valeurs est toujours en majuscule, quel que soit la casse de la valeur dans le
document source. Par exemple, si la valeur de l'attribut align
d'un élément P est "left" alors la valeur retournée est "LEFT". Pour les
attributs dont le type de donnée est CDATA, la casse de la valeur
de retour est celle contenu dans le document source.
Afin d'éviter les conflits dans un espace de nommage, un attribut qui a le
même nom qu'un mot-clé dans un de nos langages de liaisons retenus, est
préfixé. Pour le HTML, le préfixe utilisé est "html". Par exemple, l'attribut
for de l'élément LABEL entre en conflit avec les règles
d'écriture des boucles et il est renommé htmlFor.
Les noms de type d'élément sont exposés à travers une propriété en
majuscule. Par exemple, le nom de l'élément body est exposé à
travers la propriété ("tagName") "BODY".
Toutes les interfaces d'éléments HTML dérivent de cette classe. Les
éléments qui n'exposent que les attributs HTML principaux sont
représentés par l'interface de base HTMLElement. Ces
éléments sont les suivants:
Remarque. L'attribut style de cette interface
est réservé pour un usage futur.
interface HTMLElement : Element {
attribute DOMString id;
attribute DOMString title;
attribute DOMString lang;
attribute DOMString dir;
attribute DOMString className;
};
idtitlelangdirclassNameLa racine d'un document HTML. Voir a définition de l'élément HTML lin HTML 4.0.
interface HTMLHtmlElement : HTMLElement {
attribute DOMString version;
};
versionL'entête du document. Voir la définition de l'élément HEAD en HTML 4.0.
interface HTMLHeadElement : HTMLElement {
attribute DOMString profile;
};
profileL'élément LINK désigne un lien vers une ressource
externe, et définie la relation du document avec cette ressource (ou
vice versa). Voir la définition de l'élément LINK
en HTML 4.0.
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;
};
disabledcharsethrefhreflangmediarelrevtargettypeLe titre du document. Voir la définition de l'élément TITLE en HTML 4.0.
interface HTMLTitleElement : HTMLElement {
attribute DOMString text;
};
textContient les meta données génériques du document. Voir la définition de l'élément META en HTML 4.0.
interface HTMLMetaElement : HTMLElement {
attribute DOMString content;
attribute DOMString httpEquiv;
attribute DOMString name;
attribute DOMString scheme;
};
contenthttpEquivnameschemeL'URI de base du document. Voir la définition de l'élément BASE en HTML 4.0.
interface HTMLBaseElement : HTMLElement {
attribute DOMString href;
attribute DOMString target;
};
hreftargetCet élément est utilisé dans le cadre d'une saisie d'une ligne unique de texte. Voir la définition de l'élément ISINDEX en HTML 4.0. Cet élément est obsolète en HTML 4.0.
interface HTMLIsIndexElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString prompt;
};
form FORM contenant ce
contrôle. Retourne null si le contrôle n'est
pas dans le contexte du formulaire.promptL'information concernant le style. Un modèle objet plus détaillé sur les feuilles de style est prévu et sera défini dans un autre document. Voir la définition de l'élément STYLE en HTML 4.0.
interface HTMLStyleElement : HTMLElement {
attribute boolean disabled;
attribute DOMString media;
attribute DOMString type;
};
disabledmediatypeLe corps du document HTML. Cet élément est toujours présent dans l'API DOM, même si la balise n'est pas présente dans le document source. Voir la définition de l'élément BODY en HTML 4.0.
interface HTMLBodyElement : HTMLElement {
attribute DOMString aLink;
attribute DOMString background;
attribute DOMString bgColor;
attribute DOMString link;
attribute DOMString text;
attribute DOMString vLink;
};
aLinkbackgroundbgColorlinktextvLinkL'élément FORM (formulaire) englobe à la fois le
comportement d'une collection et d'un élément. Il permet d'accéder
directement aux éléments de saisie qu'il contient mais aussi aux
attributs de l'élément formulaire. Voir la définition de l'élément FORM
en HTML 4.0.
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();
};
elementslengthnameacceptCharsetactionenctypemethodtargetsubmit submit.reset
reset.L'élément select permet la sélection d'une option. Les options sont
directement accessibles à partir de l'élément select en
tant que collection. Voir la définition de l'élément SELECT
en HTML 4.0.
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);
void remove(in long index);
void blur();
void focus();
};
typeselectedIndexvaluelength SELECT.form FORM contenant ce
contrôle. Retourne null si le contrôle n'est
pas dans le contexte du formulaire.options OPTION contenu dans
cet élément.disabledmultiple OPTION peuvent
être sélectionnés dans ce SELECT. Voir la
définition de l'attribut multiple
en HTML 4.0.namesizetabIndexadd OPTION pour ce SELECT.
element |
L'élément à ajouter. |
|
before |
L'élément à insérer avant, ou |
remove
OPTION de ce SELECT. Ne fait rien si
aucun élément ne possède cet index.
index |
L'index de l'élément à supprimer. |
blurfocusRegroupe les options en subdivisions logiques. Voir la définition de l'élément OPTGROUP en HTML 4.0.
interface HTMLOptGroupElement : HTMLElement {
attribute boolean disabled;
attribute DOMString label;
};
disabledlabelUn choix pouvant être sélectionné. Voir la définition de l'élément OPTION en HTML 4.0.
interface HTMLOptionElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute boolean defaultSelected;
readonly attribute DOMString text;
attribute long index;
attribute boolean disabled;
attribute DOMString label;
readonly attribute boolean selected;
attribute DOMString value;
};
form FORM contenant ce
contrôle. Retourne null si le contrôle n'est
pas dans le contexte du formulaire.defaultSelected
selected.text option.index OPTION dans le parent
SELECT.disabledlabelselectedvalueUn contrôle de formulaire. Remarque. En fonction de
l'environnement dans lequel la page est lue, la propriété
value peut-être en lecture seule pour un contrôle de type
file. Pour un contrôle de type password, la
valeur retournée peut-être masquée afin de prévenir une utilisation
abusive. Voir la définition de l'élément INPUT
en HTML 4.0.
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;
readonly attribute DOMString type;
attribute DOMString useMap;
attribute DOMString value;
void blur();
void focus();
void select();
void click();
};
defaultValuedefaultChecked type a pour valeur
"Radio" ou "Checkbox", contient la
valeur initiale de l'attribut checked.form FORM contenant ce
contrôle. Retourne null si le contrôle n'est
pas dans le contexte du formulaire.acceptaccessKeyalignaltcheckedtype a la valeur
"Radio" ou "Checkbox". La valeur
est "True" si il est explicitement spécifié. Représente
l'état actuel de la case à cocher ou du bouton radio. Voir
la définition de l'attribut checked
en HTML 4.0.disabledmaxLength type a pour valeur "Text"
ou "Password". Voir la définition de l'attribut
maxlength
en HTML 4.0.namereadOnly
type a la valeur "text" ou
"password" uniquement. Voir la définition de
l'attribut readonly
en HTML 4.0.sizesrc type a la valeur
"Image", cet attribut détermine la localisation
de l'image qui doit être utilisée pour décorer le bouton de
type submit. Voir la définition de l'attribut
src
en HTML 4.0.tabIndextypeuseMapvalueblurfocusselect INPUT dont l'attribut
type a l'une des valeurs suivantes:
"Text", "File", ou
"Password".click
INPUT dont l'attribut type a l'une des
valeurs suivantes: "Button",
"Checkbox", "Radio",
"Reset", ou "Submit".Un champ de texte multi lignes. Voir la définition de l'élément TEXTAREA en HTML 4.0.
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();
};
defaultValuevalue).form null si le contrôle n'est pas dans le contexte
du formulaire.accessKeycolsdisablednamereadOnlyrowstabIndextypevaluewstring, l'implémentation peut tronquer la
donnée.blurfocusselect TEXTAREA.Un bouton poussoir. Voir la définition de l'élément BUTTON en HTML 4.0.
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;
};
form FORM contenant ce
contrôleaccessKeydisablednametabIndextypevalueUne étiquette de champ de formulaire (association d'un texte à un contrôle de formulaire). Voir la définition de l'élément LABEL en HTML 4.0.
interface HTMLLabelElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute DOMString htmlFor;
};
formFORM contenant ce
contrôle. Retourne null si le contrôle n'est
pas dans le contexte du formulaire.accessKeyhtmlFor id.
Voir la définition de l'attribut for
en HTML 4.0.Organise les contrôles de formulaires en groupes logiques. Voir la définition de l'élément FIELDSET en HTML 4.0.
interface HTMLFieldSetElement : HTMLElement {
readonly attribute HTMLFormElement form;
};
formFORM contenant ce
contrôle. Retourne null si le contrôle n'est
pas dans le contexte du formulaire.Affecte une légende à un groupe FIELDSET. Voir la
définition de l'élément LEGEND
en HTML 4.0.
interface HTMLLegendElement : HTMLElement {
readonly attribute HTMLFormElement form;
attribute DOMString accessKey;
attribute DOMString align;
};
formFORM contenant ce
contrôle. Retourne null si le contrôle n'est
pas dans le contexte du formulaire.accessKeyalign FIELDSET. Voir
la définition de l'attribut align
en HTML 4.0. Cet attribut est obsolète en HTML 4.0.Une liste non ordonnée. Voir la définition de l'élément UL en HTML 4.0.
interface HTMLUListElement : HTMLElement {
attribute boolean compact;
attribute DOMString type;
};
compacttypeUne liste ordonnée. Voir la définition de l'élément OL en HTML 4.0.
interface HTMLOListElement : HTMLElement {
attribute boolean compact;
attribute long start;
attribute DOMString type;
};
compactstarttypeListe de définition. Voir la définition de l'élément DL en HTML 4.0.
interface HTMLDListElement : HTMLElement {
attribute boolean compact;
};
compactUne liste de type répertoire. Voir la définition de l'élément DIR en HTML 4.0. Cet élément est obsolète en HTML 4.0.
interface HTMLDirectoryElement : HTMLElement {
attribute boolean compact;
};
compactUne liste de type menu. Voir la définition de l'élément MENU en HTML 4.0. Cet élément est obsolète en HTML 4.0.
interface HTMLMenuElement : HTMLElement {
attribute boolean compact;
};
compactUn élément de liste. Voir la définition de l'élément LI en HTML 4.0.
interface HTMLLIElement : HTMLElement {
attribute DOMString type;
attribute long value;
};
typevalue OL. Voir la définition de
l'attribut value
en HTML 4.0. Cet attribut est obsolète en HTML 4.0.??? Voir la définition de l'élément BLOCKQUOTE en HTML 4.0.
interface HTMLBlockquoteElement : HTMLElement {
attribute DOMString cite;
};
citeUn bloc conteneur générique. Voir la définition de l'élément DIV en HTML 4.0.
interface HTMLDivElement : HTMLElement {
attribute DOMString align;
};
alignUn paragraphe. Voir la définition de l'élément P en HTML 4.0.
interface HTMLParagraphElement : HTMLElement {
attribute DOMString align;
};
alignLes éléments de type H1 à H6. Voir la définition de l'élément H1 en HTML 4.0.
interface HTMLHeadingElement : HTMLElement {
attribute DOMString align;
};
alignLes éléments de type Q et BLOCKQUOTE.
Voir la définition de l'élément Q en
HTML 4.0.
interface HTMLQuoteElement : HTMLElement {
attribute DOMString cite;
};
citeUn texte pré formaté. Voir la définition de l'élément PRE en HTML 4.0.
interface HTMLPreElement : HTMLElement {
attribute long width;
};
widthForce un saut de ligne. Voir la définition de l'élément BR en HTML 4.0.
interface HTMLBRElement : HTMLElement {
attribute DOMString clear;
};
clearUne police de caractères de base. Voir la définition de l'élément BASEFONT en HTML 4.0. Cet élément est obsolète en HTML 4.0.
interface HTMLBaseFontElement : HTMLElement {
attribute DOMString color;
attribute DOMString face;
attribute DOMString size;
};
colorfacesizeUne modification localisée de la police de caractères. Voir la définition de l'élément FONT en HTML 4.0. Cet élément est obsolète en HTML 4.0.
interface HTMLFontElement : HTMLElement {
attribute DOMString color;
attribute DOMString face;
attribute DOMString size;
};
colorfacesizeCrée une ligne horizontale. Voir la définition de l'élément HR en HTML 4.0.
interface HTMLHRElement : HTMLElement {
attribute DOMString align;
attribute boolean noShade;
attribute DOMString size;
attribute DOMString width;
};
alignnoShadesizewidthUne note de modification d'une partie du document. Voir la définition des éléments INS et DEL en HTML 4.0.
interface HTMLModElement : HTMLElement {
attribute DOMString cite;
attribute DOMString dateTime;
};
citedateTimeL'élément signet. Voir la définition de l'élément A en HTML 4.0.
interface HTMLAnchorElement : HTMLElement {
attribute DOMString accessKey;
attribute DOMString charset;
attribute DOMString coords;
attribute DOMString href;
attribute DOMString hreflang;
attribute DOMString name;
attribute DOMString rel;
attribute DOMString rev;
attribute DOMString shape;
attribute long tabIndex;
attribute DOMString target;
attribute DOMString type;
void blur();
void focus();
};
accessKeycharsetcoords shape pour la forme de la
region. Voir la définition de l'attribut coords
en HTML 4.0.hrefhreflang