ElementNN 6 IE s.o DOM 1

L´objet Element du DOM W3C provient du module principal et représente le type d´objet élément que vous trouvez dans les véritables documents XML. Ce type de noeud hérite des propriétés et méthodes de l´objet Node racine et ajoute des capacités qui lui permettent d´agir comme conteneur d´autres noeuds. Les éléments des documents HTML sont de type HTMLDocument, qui hérite du formulaire de l´objet Element. Toutes les propriétés et méthodes de l´objet Element sont partagées par tous les objets éléments HTML, comme expliqué au début de ce chapitre.

 
Référence de modèle d'objet
 
elementNodeReference
 
Propriétés spécifiques à l´objet

Aucune.

 
Méthodes spécifiques à l´objet

Aucune.

 
Propriétés de gestionnaire d´événements spécifiques à l´objet

Aucune.

addBehavior()NN s.o. IE 5 (Win) DOM s.o.

addBehavior("URL")

Joint un comportement IE interne ou externe à l´élément courant. Une fois qu´un script a joint le comportement, l´élément répond aux événements définis par le comportement (le cas échéant) et fournit l´accès aux propriétés et méthodes associées au comportement. Un fichier de comportement externe doit être transmis à partir du même domaine (et protocole) que la page courante. Pour plus de détails sur l´application des comportements IE pour Windows, visitez http://msdn.microsoft.com/workshop/author/behaviors/overview.asp.

 
Paramètres
 
  • Pour les comportements externes, une URL absolue ou relative au fichier .htc sur le serveur. Pour les comportements internes, un format spécial est décrit dans l´élément suivant.
 
Valeur renvoyée

Nombre d´ordre (entier) utilisable comme paramètre pour la méthode removeBehavior() .

all[]NN s.o. IE 4 DOM s.o.

Lecture seule

Renvoie un tableau de tous les objets éléments HTML que contient le formulaire courant. Les éléments de ce tableau sont indexés (en base zéro) dans l'ordre dans lequel ils apparaissent dans le code source. La collection va au-delà des générations d´éléments imbriqués de telle façon que document.all[] présente tous les éléments du document entier. Reportez-vous à l´objet all pour la liste de propriétés et méthodes propres à cette valeur de propriété.

 

Comme avec toutes les collections dans Internet Explorer, vous pouvez utiliser la syntaxe de tableau JavaScript traditionnelle (avec des crochets autour de la valeur d´index) ou l´équivalent JScript de Microsoft Internet Explorer (avec des parenthèses autour de la valeur d´index). Si vous souhaitez obtenir un déploiement compatible avec tous les navigateurs pour les collections disponibles sur les deux plates-formes, utilisez les crochets.

 

A moins que votre développement se limite strictement aux navigateurs IE, songez à passer aux références du DOM W3C par le biais de document.getElementById() , implémentées dans IE 5 et versions ultérieures, ainsi que Netscape 6.

 
Exemple
 
var inpVal = document.all.first_name.value;
 
Valeur

Tableau (collection) de références d´objets éléments dans l´ordre du code source HTML.

 
Par défaut

Le modèle du document courant.

applyElement()NN s.o. IE 5 (Win) DOM s.o.

applyElement(elementObject[, type])

Insère un nouvel élément en tant qu´élément enfant de l´objet considéré ou en tant que nouveau parent de l´objet considéré, selon la valeur du second paramètre. Le comportement par défaut est d´englober l´objet considéré dans le nouvel élément. Mais, vous pouvez aussi choisir d´insérer le nouvel élément en tant qu´élément enfant. Dans ce cas, si l´objet considéré est dans l´arborescence de documents (au lieu de simplement flotter dans la mémoire après sa création par le biais de document.createElement() ) et contient déjà des éléments enfants imbriqués, le nouvel élément est inséré de façon à ce que les enfants précédents deviennent des enfants de l´élément inséré (c´est-à-dire des petits-enfants de l´objet considéré). Ce comportement d´englobement est unique parmi les méthodes d´insertion d´éléments de Microsoft Internet Explorer et peut avoir un impact important sur l´arborescence de documents. A utiliser avec des précautions extrêmes.

 
Paramètres
 
  • Référence à n´importe quel objet élément généré dynamiquement ou objet élément dans l´arborescence de documents.
  • Valeur sous forme de chaîne facultative: inside (le nouvel élément devient le seul et premier enfant de l´objet considéré); outside (le nouvel élément devient le parent de l´objet considéré). La valeur par défaut est outside .
 
Valeur renvoyée

Référence à l´objet élément nouvellement ajouté.

behaviorUrns[]NN s.o. IE 5 (Win) DOM s.o.

Lecture seule

Fournit un tableau d´URN (Uniform Resource Names) pour tous les comportements externes (fichiers .htc) associés à l´élément par le biais de la syntaxe de feuilles de style. Peut-être pour des raisons de sécurité, les entrées de chaînes de ce tableau sont toujours vides.

 
Exemple
 
var htcCount = document.getElementById(elementID).behaviorUrns.length;
 
Valeur

Tableau de chaînes (vides).

 
Par défaut

Tableau de longueur 0.

canHaveChildrenNN s.o. IE 5 (Win) DOM s.o.

Lecture seule

Spécifie si l´élément courant peut contenir d´autres éléments. La valeur de la propriété est basée sur les DTD HTML intégrées de Microsoft Internet Explorer pour Windows, qui définissent plusieurs éléments (comme <br> ) dans lesquels vous ne pouvez pas insérer de noeuds enfants.

 
Exemple
 
if (elementRef.canHaveChildren) {
		    // statements to insert or append child elements
		}
 
Valeur

Valeur booléenne: true | false .

 
Par défaut

Spécifique à l´élément.

children[]NN s.o. IE 4 DOM s.o.

Lecture seule

Renvoie un tableau de tous les objets éléments HTML de premier niveau que contient l´élément courant. Cette collection diffère de la collection all[] car elle ne contient que des références aux enfants immédiats de l´élément considéré (alors que la collection all[] transcende les générations). Par exemple, document.body.children[] peut contenir un formulaire, mais aucune référence aux éléments de formulaire au sein de ce formulaire. Les éléments de ce tableau sont indexés (en base zéro) dans l'ordre dans lequel ils apparaissent dans le code source. Contrairement au tableau childNodes[] , la portée de cette propriété est l´élément, pas le noeud. Voir l'objet children .

 
Exemple
 
for (var i = 0; i < elementRef.children.length; i++) {
		    if (elementRef.children[i].tagName == "FORM") {
		        // operate on a form element
		    }
		}
 
Valeur

Tableau des références des objets éléments.

 
Par défaut

Tableau de longueur zéro.

classNameNN 6 IE 4 DOM 1

Lecture/écriture

Il s´agit d´un identifiant généralement utilisé pour associer un élément à une règle définie pour un sélecteur de classe dans une feuille de style. Vous pouvez modifier l´association de classe pour un élément à l´aide d´un script. Si le document inclut un autre sélecteur de classe et une autre règle de style, la modification de la propriété className de l´élément peut fournir un raccourci pour la modification de nombreuses propriétés de style en même temps.

 
Exemple
 
document.getElementById("elementID").className = "altHighlighted";
 
Valeur

Chaîne sensible à la casse. Les noms de classe sont séparés par des espaces au sein de la chaîne.

 
Par défaut

Une chaîne vide.

clearAttributes()NN s.o. IE 5 (Win) DOM s.o.

Supprime tous les attributs de l´élément courant à l´exception des attributs id et name (s´ils sont spécifiés). Les caractéristiques d´affichage influencées par les attributs de l´élément supprimés ne sont plus appliquées à l´élément.

 
Paramètres

Aucune.

 
Valeur renvoyée

Aucune.

click()NN 2 IE 4 DOM 1

Simule l´action du clic d´un utilisateur sur l´élément. Déclenche un événement onclick dans Internet Explorer 4 et versions ultérieures, ainsi que Navigator 4 et versions ultérieures. Remarque: Dans les navigateurs antérieurs à IE 4 et Netscape 6, certains éléments ne sont pas prêts pour la méthode click() (ou de l´événement onclick ). De plus, ne vous attendez pas à ce tous les éléments dont l´état graphique change lorsque l´utilisateur clique dessus simulent le même changement d´état lors du clic défini par script. Par exemple, certaines versions de navigateurs Macintosh ne changent pas l´état d´activation d´une case à cocher lorsque le script invoque une méthode click() sur une case à cocher. Dans ce cas, invoquez la méthode click() seulement si un gestionnaire d´événements onclick exécute du code; mais définissez aussi la propriété checked de la case à cocher comme désiré.

 
Paramètres

Aucune.

 
Valeur renvoyée

Aucune.

getAttribute()NN 6 IE 4 DOM 1

getAttribute(attributeName) getAttribute(attributeName[,caseSensitivity])

Renvoie la valeur de l´attribut nommé de l´élément courant. Si l´attribut est représenté comme propriété dans le modèle d´objet, cette méthode renvoie la même valeur que lors de la lecture de la propriété de l´objet. C´est la meilleure méthode pour lire la valeur d´un attribut d´objet élément (c´est-à-dire sa propriété) sous le DOM W3C.

 

Le nom d´attribut que vous transmettez comme paramètre est insensible à la casse dans les navigateurs actuels. Cependant, IE fournit un second paramètre facultatif qui vous permet de forcer la distinction minuscules/majuscules dans les noms d´attributs. Cela peut encourager la réutilisation du même nom d´attribut avec un différent mélange minuscules/majuscules, ce qui n´est pas une bonne idée.

 

Reportez-vous à la méthode setAttribute() pour affecter des valeurs aux attributs et créer de nouvelles paires attribut/valeur.

 
Paramètres
 
  • Le nom d´attribut (insensible à la casse par défaut) utilisé dans la balise HTML (sans le symbole = ). Alors qu´IE vous permet de modifier les paramètres de distinction minuscules/majuscules, Netscape ne se soucie pas de la sensibilité à la casse. Mais, du fait de la tendance vers XHTML sensible à la casse, il vaut mieux s´habituer à faire la distinction minuscules/majuscules.
  • Une valeur facultative sous forme de nombre entier pour IE uniquement. La valeur par défaut est 0 (insensible à la casse). Si la valeur est 1 , l´attribut dans la balise HTML doit utiliser exactement les mêmes minuscules/majuscules que le paramètre attributeName pour que sa valeur soit renvoyée.
 
Valeur renvoyée

Le DOM W3C et Netscape 6 conservent les valeurs d´attribut exclusivement comme des types de données sous forme de chaînes. Cependant, IE peut renvoyer une valeur d´attribut sous la forme d´une chaîne, d´un nombre ou d´une valeur booléenne.

getAttributeNode()NN 6 IE 6 DOM 1

getAttributeNode(attributeName)

Renvoie une référence à un noeud d´attribut (objet Attr ) associé au nom. Ce type de noeud est le même que celui qui remplit le tableau renvoyé par la propriété attributes d´un élément, mais la méthode getAttributeNode() vous permet d´accéder directement à l´objet noeud Attr par nom. Plus utile dans les documents XML, dans lesquels un attribut peut transmettre des données importantes associées à l´élément. Reportez-vous à l'objet Attr pour plus de détails sur ce type de noeud.

 
Paramètres
 
  • Le nom d´attribut utilisé dans la balise HTML (sans le symbole = ). Ni IE ni Navigator n´exige la sensibilité à la casse. Mais, du fait de la tendance vers XHTML sensible à la casse, il vaut mieux s´habituer à faire la distinction minuscules/majuscules.
 
Valeur renvoyée

Référence à un objet Attr .

getAttributeNS()NN 6 IE s.o. DOM 2

getAttributeNS("namespaceURI", "localName")

Renvoie la valeur de l´attribut nommé localement avec un URI d´espace de nom correspondant dans l'élément courant. Cette méthode fonctionne comme getAttribute() , mais accepte les attributs pour les documents XML étiquetés selon une spécification d´espace de nom. Le document XML simple suivant utilise un espace de nom pour un attribut de l´élément libBook:title:

<?xml version="1.0" encoding="ISO-8859-1">
<results xmlns:libBook="http://catalog.umv.edu/schema">
<libBook:title libBook:rareBooks="true">De Principia</libBook:title>
</results>?
 

Pour obtenir la valeur de l´attribut libBook:rareBooks , la méthode pour l´élément inclurait l´appel de la méthode getAttributeNS() avec les paramètres suivants:

getAttributeNS("http://catalog.umv.edu/schema", "rareBooks")
 
Paramètres
 
  • Chaîne d´URI correspondant à un URI affecté à une étiquette précédemment dans le document.
  • La partie du nom local de l´attribut.
 
Valeur renvoyée

Le DOM W3C et Netscape 6 conservent les valeurs d´attribut exclusivement comme des types de données sous forme de chaînes.

getElementsByTagName()NN 6 IE 5 DOM 1

getElementsByTagName("tagName")

Renvoie un tableau de tous les éléments descendant de l´élément courant dont le nom de balise correspond au paramètre de la méthode. Les éléments du tableau comprennent les enfants, les petits-enfants, etc., et suivent l´ordre du code source. L´élément considéré n´est pas inclus dans le tableau. En l´absence de correspondances, le tableau a une longueur de zéro.

 

Netscape 6, IE 5 pour Macintosh et IE 6 pour Windows vous permettent de spécifier le caractère générique astérisque entre guillemets comme paramètre afin de renvoyer un tableau de tous les éléments descendants, quels que soient leurs noms de balise. Cependant, sachez que les structures d´arborescence de documents des divers navigateurs peuvent être légèrement différentes, ce qui peut entraîner des différences pour les longueurs de tableau avec paramètre caractère générique .

 
Paramètres
 
  • Nom de balise (insensible à la casse par défaut) pour les éléments désirés. Ou un astérisque qui joue le rôle de caractère générique pour indiquer tous les noms de balise.
 
Valeur renvoyée

Tableau de zéro référence d´élément ou plus.

getElementsByTagNameNS()NN 6 IE s.o. DOM 2

getElementsByTagNameNS("namespaceURI", "localName")

Renvoie un tableau de tous les éléments descendant de l´élément courant qui ont un nom local correspondant au second paramètre de la méthode et un URI d´espace de nom (affecté ailleurs dans le document comme déclaration d´espace de nom) correspondant au premier paramètre de la méthode. Les éléments du tableau comprennent les enfants, les petits-enfants, etc., et suivent l´ordre du code source. L´élément courant n´est pas inclus dans le tableau. En l´absence de correspondances, le tableau a une longueur de zéro. Applicable principalement aux documents XML.

 
Paramètres
 
  • Chaîne d´URI correspondant à un URI affecté à une étiquette précédemment dans le document.
  • La partie du nom local du nom de balise.
 
Valeur renvoyée

Tableau de zéro référence d´élément ou plus.

hasAttribute()NN 6 IE s.o. DOM 1

hasAttribute("attributeName")

Renvoie une valeur booléenne true si l´élément considéré a un attribut dont le nom correspond au paramètre de la méthode.

 
Paramètres
 
  • Le nom d´attribut sensible à la casse à rechercher.
 
Valeur renvoyée

Valeur booléenne: true | false .

hasAttributeNS()NN 6 IE s.o. DOM 2

hasAttributeNS("namespaceURI", "localName")

Renvoie une valeur booléenne true si l´élément considéré a un attribut avec un nom local correspondant au second paramètre de la méthode et un URI d´espace de nom (affecté ailleurs dans le document comme déclaration d´espace de nom) correspondant au premier paramètre de la méthode.

 
Paramètres
 
  • Chaîne d´URI correspondant à un URI affecté à une étiquette précédemment dans le document.
  • La partie du nom local du nom de l´attribut.
 
Valeur renvoyée

Valeur booléenne: true | false .

hideFocusNN s.o. IE 5,5 (Win) DOM s.o.

Lecture/écriture

Spécifie si le navigateur doit afficher un rectangle d´activation en pointillés autour de l´élément activé. L´élément peut toujours être activé s´il est possible de l´activer par défaut ou s´il a l´ensemble d´attributs tabindex . Lorsque cette propriété est définie comme true , il n´y a pas d´indice visuel quand à l´état d´activation.

 
Exemple
 
document.getElementById("elementID").hideFocus = true;
 
Valeur

Valeur booléenne: true | false .

 
Par défaut

false

idNN 6 IE 4 DOM 1

Lecture/écriture

Spécifie un identifiant unique qui distingue cet élément de tous les autres au sein du document. La valeur de cette propriété est le plus souvent utilisée pour assembler des références aux éléments, mais vous pouvez passer tous les éléments en revue pour voir s´il y a une correspondance de valeur id . Il n´est généralement pas recommandé de modifier la valeur de cette propriété pour un élément qui se trouve déjà dans l´arborescence de documents. Mais si un script crée un nouvel objet élément (par le biais de la méthode document.createElement() , par exemple), il peut affecter un identifiant unique à la propriété id de cet objet, puis ajouter l´élément à l´arborescence de documents.

 
Exemple
 
var headID = document.getElementsByTagName("head")[0].id;
 
Valeur

Chaîne.

 
Par défaut

Une chaîne vide.

innerTextNN s.o. IE 4 DOM s.o.

Lecture/écriture

Indique le texte affiché (mais pas les balises) de l´élément courant. Si vous voulez le texte affiché, ainsi que les balises HTML imbriquées, reportez-vous à innerHTML . Les modifications apportées à cette propriété ne sont pas affichées par le biais de l´analyseur HTML, ce qui signifie que les balises HTML que vous incluez sont traitées comme du contenu de texte affichable uniquement. Vous ne pouvez modifier cette propriété qu´une fois le document complètement chargé. Les modifications apportées à la propriété innerText ne s'affichent pas dans le code source lorsque vous affichez la source dans le navigateur. Cette propriété n'est pas prise en charge dans de nombreux objets de la version Macintosh de Microsoft Internet Explorer 4.

 
Exemple
 
document.getElementById("elementID").innerText = "How now brown cow?";
 
Valeur

Chaîne.

 
Par défaut

Une chaîne vide.

insertAdjacentElement()NN s.o.. IE 5 (Win) DOM s.o..

insertAdjacentElement("where", elementObjectReference)

Insère un objet élément à la position désignée par rapport à l´élément considéré. En général, l´objet élément sur le point d´être inséré est créé séparément (par exemple, par le biais de document.createElement() ) ou il peut d´agir d´une référence à un objet qui se trouve déjà dans l´arborescence de documents, et la méthode amène alors l´objet à son nouvel emplacement avec la méthode insertAdjacentElement() .

 

La destination est régie par le premier attribut, constitué d´une des quatre valeurs déterminant où a lieu l´insertion, comme le montre ce qui suit:

 

Bien que les effets sur l´arborescence de documents soient bien définis, le résultat affiché varie selon la combinaison d´éléments internes et blocs que vous utilisez comme objets éléments courants et insérés. L´insertion d´un élément de niveau bloc (tel que l´élément div ou p ) fait que l´élément s´affiche sur la ligne suivante et sur le bord gauche du contexte de positionnement de niveau bloc (tel que l´élément body ou td ). L´application de la méthode appendChild() du DOM W3C sur des éléments est l´équivalent de la méthode insertAdjacentElement() avec le paramètre de position beforeEnd .

 
PositionInsertion du nouvel élément
BeforeBegin Avant la balise de début de l´élément considéré, comme un frère précédent
AfterBegin Immédiatement après la balise de début de l´élément considéré, comme un premier élément enfant
BeforeEnd Immédiatement avant la balise de fin de l´élément considéré, comme un dernier élément enfant
AfterEnd Après la balise de fin de l´élément considéré, comme un frère suivant
 
Paramètres
 
  • Valeur, sous forme de chaîne, de l´une des constantes insensibles à la casse suivante: BeforeBegin | AfterBegin | BeforeEnd | AfterEnd . Le premier et le dernier emplacements sont hors des balises HTML de l´élément courant; les deux emplacements du milieu sont entre les balises et le contenu de l´élément.
  • Référence à n´importe quel objet élément valide généré dynamiquement ou existant dans l´arborescence de documents.
 
Valeur renvoyée

Référence à un objet élément inséré.

insertAdjacentHTML()NN s.o. IE 4 DOM s.o.

insertAdjacentHTML("where", HTMLText)

Insère une chaîne de texte à l´emplacement désigné par rapport au HTML existant de l´élément. Si les balises HTML font partie du texte à insérer, le navigateur interprète les balises et effectue l´affichage désiré. Cette méthode n'est pas prise en charge dans de nombreux objets de la version Macintosh de Microsoft Internet Explorer 4.

 
Paramètres
 
  • Valeur, sous forme de chaîne, de l´une des constantes suivantes: BeforeBegin | AfterBegin | BeforeEnd | AfterEnd . Le premier et le dernier emplacements sont hors des balises HTML de l´élément considéré; les deux emplacements du milieu sont entre les balises et le contenu de l´élément.
  • Valeur, sous forme de chaîne, du texte et/ou HTML à insérer à l´emplacement désiré.
 
Valeur renvoyée

Aucune.

insertAdjacentText()NN s.o. IE 4 DOM s.o.

insertAdjacentText("where", text)

Insère du texte à la position désignée par rapport au HTML existant de l´élément. Si les balises HTML font partie du texte à insérer, elles sont affichées telles quelles sur la page. Cette méthode n'est pas prise en charge dans de nombreux objets de la version Macintosh de Microsoft Internet Explorer 4.

 
Paramètres
 
  • Valeur, sous forme de chaîne, de l´une des constantes suivantes: BeforeBegin | AfterBegin | BeforeEnd | AfterEnd . Le premier et le dernier emplacements sont hors des balises HTML de l´élément considéré; les deux emplacements du milieu sont entre les balises et le contenu de l´élément.
  • Valeur, sous forme de chaîne, du texte à insérer à l´emplacement désiré.
 
Valeur renvoyée

Aucune.

isContentEditableNN s.o. IE 5,5 (Win) DOM s.o.

Lecture seule

Spécifie si les fonctions de modification par l´utilisateur de Microsoft Internet Explorer pour Windows sont activées pour l´élément considéré. Révèle si l´état de modification est explicitement défini pour l´élément ou hérité de l´arborescence de ses ancêtres.

 
Exemple
 
if (document.getElementById("elementID").isContentEditable) {
		    // process the editable element
		}
 
Valeur

Valeur booléenne: true | false .

 
Par défaut

false

isMultiLineNN s.o. IE 5,5 (Win) DOM s.o.

Lecture seule

Spécifie si l´élément considéré permet l´affichage du contenu sur plusieurs lignes. La plupart des conteneurs de texte autorisent les lignes multiples, mais d´autres types d´éléments, tels que un élément de saisie de texte, sont limités à l´affichage sur une seule ligne.

 
Exemple
 
if (document.getElementById("elementID").isMultiLine) {
		    // process the element as a potential multiple-line element
		}
 
Valeur

Valeur booléenne: true | false .

 
Par défaut

Valeur par défaut de l´élément.

mergeAttributes()NN s.o. IE 5 (Win) DOM s.o.

mergeAttributes(modelElementReference[, preserveIDs])

Copie les paires nom/valeur de l´attribut à partir de l´élément spécifié en tant que paramètre de l´élément considéré. Cela est utile pour copier un vaste ensemble d´attributs à partir d´un élément existant vers un élément nouvellement créé. Par défaut, la copie n´inclut pas les attributs id ou name de façon à ce que les deux éléments aient des identifiants différents à des fins de scripts et de formulaires. A partir de Microsoft Internet Explorer 5.5 pour Windows, un second paramètre booléen facultatif, si défini sur false , duplique aussi les attributs id et name .

 
Paramètres
 
  • Référence à un élément existant qui sert de modèle pour les paires nom/valeur de l´attribut à copier vers l´élément considéré.
  • Valeur booléenne facultative. Si définie sur false , les attributs id et name de l´élément modèle ne sont pas copiés vers l´élément considéré. La valeur par défaut de ce paramètre est true .
 
Valeur renvoyée

Aucune.

offsetHeight, offsetWidthNN 6 IE 4 DOM s.o.

Lecture seule

En gros, ces propriétés fournissent la hauteur et la largeur du contenu de l´élément, mais avec quelques variations mineures dans les bordures et le remplissage de l´élément selon les versions du système d´exploitation de Microsoft Internet Explorer et les modes de compatibilité contrôlés par la déclaration DOCTYPE . La tendance est d´inclure la mesure des bordures et du remplissage, mais pas les marges, dans ces valeurs. Netscape 6 implémente ces propriétés pour des raisons de commodité, bien qu´elles ne fassent pas partie du DOM W3C. Pour en savoir plus, reportez-vous à la section 9.2 au début de ce chapitre.

 
Exemple
 
var midpoint = document.getElementById("elementID").offsetWidth/2;
 
Valeur

Nombre entier de pixels.

 
Par défaut

Spécifique à l´élément.

offsetLeft, offsetTopNN 6 IE 4 DOM s.o.

Lecture seule

En gros, ces propriétés fournissent les coordonnées gauche et supérieure du cadre de l´élément, mais avec quelques variations mineures dans le contexte du système de coordonnées (vis-à-vis de l´élément offsetParent ) selon les versions du système d´exploitation de Microsoft Internet Explorer et les modes de compatibilité contrôlés par la déclaration DOCTYPE . Netscape 6 implémente ces propriétés pour des raisons de commodité, bien qu´elles ne fassent pas partie du DOM W3C. Pour en savoir plus, reportez-vous à la section 9.2 au début de ce chapitre. Pour les éléments positionnés, fiez-vous plutôt aux propriétés style de l´élément qui contrôlent l´emplacement dans le document ou dans la zone d´affichage du navigateur.

 
Exemple
 
if (document.getElementById("elementID").offsetLeft <= 20 &&
		document.getElementById("elementID").offsetTop <=40) {
		    ...
		}
 
Valeur

Nombre entier de pixels.

 
Par défaut

Spécifique à l´élément.

offsetParentNN 6 IE 4 DOM s.o.

Lecture seule

Renvoie une référence à l´objet qui est le contexte de positionnement de décalage de l'élément courant. Pour la plupart des éléments sur une page IE et tous les éléments sur une page Netscape 6, il s´agit de l´objet body . Mais les éléments dans IE qui sont inclus dans des éléments div ou qui sont des cellules d´un tableau ont d´autres parents. De plus, pour les éléments imbriqués complexes, vous trouverez des variations importantes quant à l´objet renvoyé par cette propriété, selon la version du navigateur. Par exemple, la propriété offsetParent d´un élément td est l´élément père tr dans IE 4 pour Windows et l´élément table pour les versions ultérieures de Microsoft Internet Explorer pour Windows et toutes les versions de Microsoft Internet Explorer pour Macintosh. Netscape 6 considère toujours l´élément body comme offsetParent de l´élément td . Reportez-vous à la section 9.2 au début de ce chapitre pour un exemple d´utilisation de cette propriété afin de calculer la position précise d´un élément interne.

 
Exemple
 
var containerLeft = document.getElementById("elementID")offsetParent.offsetLeft;
 
Valeur

Référence d´objet

 
Par défaut

objet body .

outerHTMLNN s.o. IE 4 DOM s.o.

Lecture/écriture

Indique le texte affiché et les balises HTML (c´est-à-dire le code source), y compris les balises de début et de fin de l´élément courant. Si vous ne voulez que le texte affiché, reportez-vous à outerText . Pour le code source qui exclut les balises de l´élément courant, reportez-vous à innerHTML . Une modification apportée à cette propriété qui inclut des balises HTML est affichée par le biais de l´analyseur HTML, comme si la nouvelle valeur faisait partie du code source d´origine. Vous ne pouvez modifier cette propriété qu´après chargement complet du document et vous pouvez même modifier le type de l´élément dont il s´agit ou le remplacer avec un contenu en texte clair. Les modifications apportées à la propriété outerHTML n´apparaissent pas dans le code source lorsque vous affichez la source dans le navigateur. Pour ajouter à du HTML existant, reportez-vous à la méthode insertAdjacentHTML() . Cette propriété n´est pas prise en charge pour de nombreux objets dans la version Macintosh de Microsoft Internet Explorer 4. L´équivalent DOM W3C nécessite de nombreuses manipulations des objets de niveau noeud, comme indiqué dans le chapitre 5.

 
Exemple
 
document.getElementById("elementID").outerHTML =
		    "<acronym id="quotes">NI<i>M</i>BY</acronym>";
 
Valeur

Chaîne pouvant inclure ou ne pas inclure de balises HTML.

 
Par défaut

Une chaîne vide.

outerTextNN s.o. IE 4 DOM s.o.

Lecture/écriture

Indique le texte affiché (mais pas les balises) de l´élément courant. Si vous voulez le texte affiché, ainsi que les balises HTML de l´élément, reportez-vous à outerHTML . Les modifications apportées à cette propriété ne sont pas affichées par le biais de l´analyseur HTML, ce qui signifie que les balises HTML que vous incluez sont traitées comme du contenu de texte affichable uniquement. Vous ne pouvez modifier cette propriété qu´une fois le document complètement chargé. Les modifications apportées à la propriété outerText n´apparaissent pas dans le code source lorsque vous affichez la source dans le navigateur. Cette propriété n'est pas prise en charge dans de nombreux objets de la version Macintosh de Microsoft Internet Explorer 4.

 
Exemple
 
document.getElementById("elementID").outerText = "UNESCO";
 
Valeur

Chaîne.

 
Par défaut

Une chaîne vide.

parentElementNN s.o. IE 4 DOM s.o.

Lecture seule

Renvoie une référence à l´élément père dans la hiérarchie contenant-contenu HTML. Le parent HTML d´un élément n´est pas nécessairement identique à l´objet renvoyé par la propriété offsetParent . parentElement se rapporte uniquement à la contenance du code source, alors que la propriété offsetParent recherche l´élément père utilisé comme système de coordonnées afin de mesurer l´emplacement de l´élément courant. Par exemple, si le document principal contient un élément p avec un élément em imbriqué, l´élément em a deux parents. L´élément p est la valeur parentElement renvoyée (à cause de la contenance du code source HTML), alors que l´élément body est la valeur offsetParent renvoyée (à cause de la contenance de l´espace des coordonnées).

 

Vous pouvez sauter plusieurs niveaux de parents en utilisant des propriétés parentElement en cascade, comme dans:

 

Vous pouvez alors utiliser ces références pour accéder aux propriétés et méthodes de l´élément parent.

 

Pour le DOM W3C, la propriété correspondante est parentNode .

 
Exemple
 
document.getElementById("elementID").parentElement.style.fontSize = "14pt";
 
Valeur

Référence de l'objet élément.

 
Par défaut

Spécifique à l´élément.

removeAttribute()NN 6 IE 4 DOM 1

removeAttribute("attributeName") removeAttribute("attributeName"[, caseSensitivity])

Supprime l´attribut nommé de l´élément considéré. Une spécification IE 4 qui limitait la suppression des attributs aux attributs ajoutés par le biais de la méthode setAttribute() n´est pas applicable dans IE 5 et versions ultérieures ou Netscape 6. La suppression d´un attribut ne modifie pas le code source lorsqu´il est affiché dans le navigateur, mais affecte la façon dont le navigateur affiche l´élément. Le noeud ou la valeur de l´attribut ne sont plus disponibles après la suppression.

 
Paramètres
 
  • Le nom d´attribut (insensible à la casse par défaut) utilisé dans la balise HTML (sans le symbole = ). Alors qu´IE vous permet de modifier les paramètres de distinction minuscules/majuscules, Netscape ne se soucie pas de la sensibilité à la casse. Mais, du fait de la tendance vers XHTML sensible à la casse, il vaut mieux s´habituer à faire la distinction minuscules/majuscules.
  • Une valeur facultative sous forme de nombre entier pour IE uniquement. La valeur par défaut est 0 (insensible à la casse). Si la valeur est 1 , l´attribut dans la balise HTML doit utiliser exactement les mêmes minuscules/majuscules que le paramètre attributeName pour que sa valeur soit renvoyée.
 
Valeur renvoyée

Dans IE, valeur booléenne true en cas de succès; false si l´attribut n´existe pas. Pas de valeur renvoyée dans Netscape 6 (ni dans la spécification du DOM W3C).

removeAttributeNode()NN 6 IE 6 DOM 1

removeAttributeNode(attrObjectReference)

Supprime l´attribut de l´élément considéré indiqué par la référence de paramètre à un objet noeud Attr existant. Cela fournit une autre façon de supprimer un attribut d´un élément si le script n´a qu´une référence à l´objet noeud Attr , et non à son nom. La suppression d´un noeud d´attribut ne modifie pas le code source lorsqu´il est affiché dans le navigateur, mais affecte la façon dont le navigateur affiche l´élément. Le noeud ou la valeur de l´attribut ne sont plus disponibles après la suppression.

 
Paramètres
 
  • Référence à un objet noeud Attr associé à l´élément considéré.
 
Valeur renvoyée

Référence à l´objet Attr supprimé, qui ne fait plus partie de l´arborescence de documents, mais qui peut maintenant être inséré ailleurs dans l´arborescence de documents.

removeAttributeNS()NN 6 IE s.o. DOM 2

removeAttributeNS("namespaceURI", "localName")

Supprime l´attribut nommé localement avec un URI d´espace de nom correspondant de l'élément considéré. Cette méthode fonctionne comme removeAttribute() , mais accepte les attributs pour les documents XML étiquetés selon une spécification d´espace de nom. Le document XML simple suivant utilise un espace de nom pour un attribut de l´élément libBook:title:

<?xml version="1.0" encoding="ISO-8859-1">
<results xmlns:libBook="http://catalog.umv.edu/schema">
<libBook:title libBook:rareBooks="true">De Principia</libBook:title>
</results>?
 

Pour obtenir la valeur de l´attribut libBook:rareBooks , la méthode pour l´élément inclurait l´appel de la méthode removeAttributeNS() avec les paramètres suivants:

removeAttributeNS("http://catalog.umv.edu/schema", "rareBooks")
 
Paramètres
 
  • Chaîne d´URI correspondant à un URI affecté à une étiquette précédemment dans le document.
  • La partie du nom local de l´attribut.
 
Valeur renvoyée

Aucune.

removeBehavior()NN s.o. IE 5 (Win) DOM s.o.

removeBehavior(behaviorID)

Déconnecte l´association entre l´élément considéré et le comportement activé précédemment par le biais de la méthode addBehavior() . Le paramètre est la valeur qui a été renvoyée par la méthode addBehavior() , que vous devez conserver comme variable entre les invocations des deux méthodes.

 
Paramètres
 
  • Nombre d´ordre (entier) initialement généré par la méthode addBehavior() pour l´élément et le type de comportement considérés.
 
Valeur renvoyée

Valeur booléenne true si la suppression réussit; sinon false .

scrollIntoView()NN 7 IE 4 DOM s.o.

scrollIntoView([showAtTop])

Fait défiler le contenu où se trouve l´élément considéré de façon à ce qu´il devienne visible. Le comportement par défaut est d´afficher l´élément de façon à ce que le haut de l´élément se trouve en haut de l´espace de défilement. Mais vous pouvez aussi aligner l´élément en bas de l´espace de défilement si vous préférez.

 
Paramètres
 
  • Valeur booléenne facultative. Si true (valeur par défaut), le haut du contenu est placé en haut de l´espace de défilement; si false , le bas du contenu est placé en bas de l´espace de défilement.
 
Valeur renvoyée

Aucune.

setActive()NN s.o. IE 5,5 (Win) DOM s.o.

Fait de l´élément considéré l´élément actif sans faire défiler la page pour pouvoir rendre l´élément actif visible. Cette méthode ne change pas non plus l´activation des fenêtres ou des cadres si elle est invoquée pour une autre fenêtre. Cependant, l´élément reçoit un événement onfocus lors de l´invocation de la méthode.

 
Paramètres

Aucune.

 
Valeur renvoyée

Aucune.

setAttribute()NN 6 IE 4 DOM 1

setAttribute("attributeName", value) setAttribute("attributeName", value[, caseSensitivity])

Définit la valeur de l´attribut nommé dans l´élément considéré. Si l´attribut est représenté comme propriété dans le modèle d´objet, cette méthode se comporte comme l´affectation d´une valeur à la propriété de l´objet. Malgré tout, le DOM W3C déclare que la méthode setAttribute() est le meilleur moyen de modifier la valeur d´un attribut (et que la méthode getAttribute() est le meilleur moyen de lire la valeur).

 

Si l´attribut n´existe pas encore dans l´élément, la méthode setAttribute() l´ajoute à l´élément comme paire nom/valeur (sauf dans IE 4 à 5.5, l´attribut nouvellement ajouté n´est pas signalé comme faisant partie de la collection attributes de l´élément).

 

IE traite les noms d´attributs plutôt comme des noms de propriétés d´objets. Ainsi, lorsque le nom de l´attribut et le nom de la propriété correspondante sont différents (par exemple, class et className ), IE exige la version du nom de la propriété. Pour affecter une nouvelle valeur à l´attribut class d´un élément pour IE et Navigator, vous devez brancher le code afin d´invoquer la mémoire une seule fois par navigateur pour éviter d´ajouter un attribut className inutilisé à l´élément de Navigator. A des fins de détection d´objets, un navigateur prenant en charge l´approche du DOM W3C renvoie un type de valeur sous forme de chaîne pour la méthode getAttribute("class") de l´élément.

 

Les valeurs que vous affectez à un attribut doivent toutes être des chaînes pour Netscape 6 (la spécification du DOM W3C). IE permet d´autres types de données (tels que les nombres et les valeurs booléennes), mais si par exemple, vous affectez une valeur numérique sous forme de chaîne, le type de données est converti pour que getAttribute() renvoie la valeur dans le type de données qu´IE préfère. Dans Netscape 6, toutes les valeurs d´attributs sont des chaînes.

 

Dans Netscape 6, les noms d´attributs sont insensibles à la casse, mais vous devriez vous habituer à utiliser des noms d´attributs tout en minuscules (dans la direction de XHTML). Dans IE, par défaut, les noms d´attributs sont sensibles à la casse pour cette méthode. Un troisième paramètre facultatif vous permet de contrôler si le nom d´attribut doit être sensible à la casse ou non. Evitez de jouer avec les minuscules/majuscules dans les noms d´attributs (deux attributs différents avec le même nom, mais des minuscules et majuscules différentes). Si vous utilisez des noms d´attributs tout en minuscules tout au long de votre code, vous pouvez omettre le troisième paramètre IE, tout en maintenant la compatibilité avec le DOM W3C.

 
Paramètres
 
  • Le nom d´attribut utilisé dans la balise HTML (sauf ce qui est indiqué ci-dessus pour IE).
  • Pour Netscape 6, la valeur de l´attribut comme type de données sous forme de chaîne. Pour IE, la valeur de l´attribut sous forme de chaîne, de nombre ou de valeur booléenne, comme dicté par le type de données de l´attribut. Les chaînes conviennent pour toutes les valeurs, mais IE convertit les types de données si nécessaire.
  • Une valeur facultative sous forme de nombre entier pour IE uniquement. Si la valeur est 1 (valeur par défaut), l´attribut dans la balise HTML doit utiliser exactement les mêmes minuscules/majuscules que le paramètre attributeName pour que sa valeur soit définie (ce qui permet que plusieurs noms d´attributs identiques, mais avec des minuscules/majuscules différentes, coexistent). Si la valeur est 0 , le paramètre attributeName s´aligne avec le premier attribut portant le même nom, quelle que soit la casse.
 
Valeur renvoyée

Aucune.

setAttributeNode()NN 6 IE 6 DOM 1

setAttributeNode(attrObjectReference)

Insère ou remplace un attribut dans l´élément considéré. Le paramètre est une référence à un objet noeud Attr nouvellement créé ou référencé à partir d´un autre élément de l´arborescence de documents. Lorsque la méthode setAttributeNode() est invoquée, le navigateur commence par rechercher une correspondance entre le nom du nouvel attribut et les noms des attributs existants. Si une correspondance existe, le nouvel attribut remplace l´attribut d´origine; sinon, le nouvel attribut est ajouté aux attributs de l´élément. L´ajout d´un noeud d´attribut ne modifie pas le code source lorsqu´il est affiché dans le navigateur, mais affecte la façon dont le navigateur affiche l´élément si l´attribut affecte la représentation visuelle de l´élément. La valeur du nouvel attribut peut être obtenue par le biais de la méthode getAttribute() .

 
Paramètres
 
  • Référence à un objet de noeud Attr créé avec document.createAttribute() ou un noeud Attr d´un autre élément de l´arborescence de documents.
 
Valeur renvoyée

Référence à l´objet Attr remplacé, qui ne fait plus partie de l´arborescence de documents, ou null pour une insertion.

setAttributeNodeNS()NN 6 IE s.o. DOM 2

setAttributeNodeNS(attrObjectReference)

Insère ou remplace un attribut dans l´élément considéré. Le paramètre est une référence à un objet noeud Attr nouvellement créé ou référencé à partir d´un autre élément de l´arborescence de documents. Lorsque la méthode setAttributeNodeNS() est invoquée, le navigateur commence par rechercher une correspondance entre le nom local et l´URI d´espace de nom du nouvel attribut et les noms locaux et URI d´espace de nom des attributs existants. Si une correspondance existe, le nouvel attribut remplace l´attribut d´origine; sinon, le nouvel attribut est ajouté aux attributs de l´élément. L´ajout d´un noeud d´attribut ne modifie pas le code source lorsqu´il est affiché dans le navigateur, mais affecte la façon dont le navigateur affiche l´élément si l´attribut affecte la représentation visuelle de l´élément. La valeur du nouvel attribut peut être obtenue par le biais de la méthode getAttributeNS() .

 
Paramètres
 
  • Référence à un objet de noeud Attr créé avec document.createAttributeNS() ou un noeud Attr d´un autre élément de l´arborescence de documents.
 
Valeur renvoyée

Référence à l´objet Attr remplacé, qui ne fait plus partie de l´arborescence de documents, ou null pour une insertion.

setAttributeNS()NN 6 IE s.o. DOM 2

setAttributeNS("namespaceURI", "qualifiedName", "value")

Insère ou remplace un attribut dans l´élément considéré. S´il y a une correspondance entre les attributs de l´élément pour l´URI d´espace de nom ET le nom qualifié transmis comme paramètres, la nouvelle valeur est affectée à l´attribut existant. En l'absence de correspondance, l´attribut est ajouté à l´élément.

 
Paramètres
 
  • Chaîne d´URI correspondant à un URI affecté à une étiquette précédemment dans le document.
  • Le nom complet de l´attribut, composé du préfixe de nom local (le cas échéant), d´un signe deux-points et du nom local.
  • Valeur, sous forme de chaîne, pour l´attribut.
 
Valeur renvoyée

Aucune.

scopeName, tagUrnNN s.o. IE 5 (Win) DOM s.o.

Lecture seule

Pour les éléments personnalisés utilisant les espaces de nom XML, la propriété scopeName renvoie l´identifiant qui associe le nom de balise avec un espace de nom défini à un autre endroit du document par le biais de l´attribut xmlns . Tous les éléments HTML renvoient une valeur de HTML pour cette propriété. La propriété tagUrn renvoie l´URI spécifié pour l´espace de nom. Pour le DOM W3C, les propriétés correspondantes sont prefix et namespaceURI .

 
Exemple
 
var allTitles = document.getElementsByTagName("title");
		for (var i = 0; i < allTitles.length; i++) {
		    if (allTitles[i].scopeName == "libBook" &&
		        allTitles[i].tagUrn.indexOf("catalog.umv.edu") != -1) {
		        // process title elements from the desired namespace here
		    }
		}
 
Valeur

Chaînes.

 
Par défaut

HTML pour scopeName; chaîne vide pour tagUrn .

sourceIndexNN s.o. IE 4 DOM s.o.

Lecture seule

Renvoie l´index à base zéro de l´élément parmi tous les éléments du document. Les éléments sont numérotés suivant leur ordre dans le code source et pour le premier élément, un sourceIndex égal à zéro.

 
Exemple
 
var whichElement = document.getElementById("elementID").sourceIndex;
 
Valeur

Nombre entier positif ou zéro.

 
Par défaut

Spécifique à l´élément.

tagNameNN 6 IE 4 DOM 1

Lecture seule

Renvoie le nom de la balise de l´élément courant. Les noms de balises sont toujours renvoyés tout en majuscules à des fins de comparaison de chaînes, quel que soit le style du code source ou la déclaration DOCTYPE .

 
Exemple
 
var theTag = document.getElementById("elementID").tagName;
 
Valeur

Chaîne.

 
Par défaut

Spécifique à l´élément.

uniqueIDNN s.o. IE 5 (Win) DOM s.o.

Lecture seule

Renvoie une chaîne d´identifiant qui est unique parmi tous les identifiants d´objets sur la page. Utilisée principalement pour affecter un ID aux éléments nouvellement créés, si le fait que le navigateur utilise son propre système d´affectation de noms ne vous gêne pas. Le plus souvent utilisée comme propriété de l´objet document , elle est malgré tout accessible par le biais de la référence de n´importe quel objet élément existant. Il est parfaitement valable d´utiliser l´identifiant comme un paramètre de chaîne pour les méthodes qui nécessitent un ID d´élément.

 
Exemple
 
var newElem = document.createElement("p");
		newElem.id = document.uniqueID;
 
Valeur

Chaîne.

 
Par défaut

Générée par le navigateur.

setAttributeNS()NN 6 IE s.o. DOM 2

setAttributeNS("namespaceURI", "qualifiedName", "value")

Insère ou remplace un attribut dans l'élément considéré. S'il y a une correspondance entre les attributs de l'élément pour l'URI d'espace de nom ET le nom qualifié transmis comme paramètres, la nouvelle valeur est affectée à l'attribut existant. En l'absence de correspondance, l'attribut est ajouté à l'élément.

 
Paramètres
 
  • Chaîne d'URI correspondant à un URI affecté à une étiquette précédemment dans le document.
  • Le nom complet de l'attribut, composé du préfixe de nom local (le cas échéant), d'un signe deux-points et du nom local.
  • Valeur, sous forme de chaîne, pour l'attribut.
 
Valeur renvoyée

Aucune.

attachEvent()NN s.o. IE 5 (Win) DOM s.o.

attachEvent("eventName", functionReference)

Relie une fonction de gestionnaire d'événements à un objet élément pour un type d'événement particulier. Avec un fonctionnement similaire à la méthode addEventListener() du DOM W3C, la méthode attachEvent() de Microsoft Internet Explorer est utilisée principalement pour les comportements IE. La liaison d'événements par le biais des propriétés de gestionnaire d'événements des objets éléments est une meilleure approche multi-navigateurs pour les pages HTML normales. Si vous reliez un gestionnaire d'événements par le biais de la méthode attachEvent() , vous pouvez désactiver la liaison par le biais de la méthode detachEvent() .

 
Paramètres
 
  • Version sous forme de chaîne du nom de l'événement, comprenant le préfixe "on". Les types d'événements applicables incluent n'importe quel événement de la longue liste IE de types d'événements partagés, que vous trouverez plus loin dans cette section. Bien qu'insensible à la casse, les valeurs tout en minuscules sont recommandées.
  • Une référence à la fonction qui est exécutée lorsque l'élément reçoit l'événement en tant que cible de l'événement ou par le biais de la propagation d'événements. Comme il s'agit d'une référence à un objet de fonction, n'utilisez pas de guillemets autour du nom et n'incluez pas les parenthèses de la fonction. Aucun paramètre ne peut être transmis à la fonction.
 
Valeur renvoyée

Valeur booléenne true si la liaison réussit