En Javascript, la page HTML courante du navigateur est modélisée par une série d'objets hiérarchisés. Cette modélisation est normalisée et s'appelle Document Object Model ou DOM.
Le modèle est composé d'un objet document qui représente l'ensemble de la page HTML courante.
Le document contient un ensemble d'objets nœuds hiérarchisés qui représentent les balises, attributs et textes présents dans le code HTML.
Les nœuds sont de plusieurs type :
Type Élément (notation E) : une balise HTML
Type Attribut (notation @) : un attribut d'une balise
Type Texte (notation T) : un texte à l'intérieur d'une balise HTML
<html>
<head>
<title>Une page HTML</title>
<head>
<body>
<div id='titre'>
<h1>Titre <b>de la page</b></h1>
<p>Paragraphe.</p>
</div>
</body>
</html>
Méthodes | Description | Exemple |
| Renvoie un objet nœud de type Élément correspondant à la balise portant l'attribut |
|
| Renvoie un tableau de nœuds de type Élément correspondant à toutes les balises de même nom dans le document (quelque soit leur profondeur) |
renvoie [ |
| Crée un nouveau nœud de type Élément (une balise HTML) portant le nom passé en paramètre. |
|
| Crée un nouveau nœud de type Texte portant le texte passé en paramètre. |
renvoie un nouvel objet |
Propriétés | Description | Exemple |
| Le nœud racine du document (autrement dit l'objet correspondant à la balise html) |
renvoie l'objet |
| Le nœud |
renvoie l'objet |
Méthodes | Description | Exemple |
appendChild(objet nœud) | Ajoute un nœud enfant au nœud courant (une sous balise ou un nœud texte) |
|
removeChild(objet nœud) | Supprime de la liste des enfants l'objet nœud. |
|
hasChildNodes() | Renvoie vrai ou faux selon que le nœud a des enfants ou pas |
|
setAttribute('nom attribut','valeur') | Ajoute ou modifie un attribut sur un nœud de type élement. | p2.setAttribute('id','p2') ; |
getAttribute("nom d'attribut") | Récupère la valeur d'un attribut sur un nœud de type élément. | p2.getAttribute('id') ; |
Propriétés | Description | Exemple |
nodeType | Type de nœud :
| divTitre.nodeType -> 1 |
nodeName | Nom du nœud pour les nœuds de type Élément |
|
nodeValue | Le texte d'un nœud Text |
|
firstChild | Renvoie le premier nœud enfant du nœud Élément |
|
parentNode | Renvoie le nœud parent d'un élement ou d'un nœud texte |
|
children | Renvoie un tableau des éléments enfants (pas les nœuds texte) de l'élément. |
|
innerHTML | Le contenu sous forme HTML d'un nœud élément |
|
id | l'identifiant unique de l'élément |
|
style | L'objet style associé au nœud élément |
|
Ajout d'un paragraphe au div titre :
var divTitre = document.getElementById('titre');
var p2 = documentCreateElement('p');
var t2 = document.createTextNode('Un deuxième paragraphe');
p2.appendChild(t2);
divTitre.appendChild(p2);
console.log(divTitre.innerHTML);
Ce code renvoie :
<h1>Titre <b>de la page</b></h1>
<p>Paragraphe.</p>
<p>Un deuxième paragraphe</p>