Académique Documents
Professionnel Documents
Culture Documents
Site Interactif
JavaScript
Serveur
Web
Base de données
HTML
Chapitre 1
Site
CSS
Statique
Chapitre 2
Chapitre 3
Interactivité Navigateur
(programmation JavaScript Chapitre 0
côté client)
Introduction
2
Programmation Web
Plan de cette séance
1. Rappel
1. Notions de base du Web
2. Les Bases de la programmation côté client
3. Les Bases du Langage JavaScript
4. Manipulation du DOM
5. Le BOM (Browser Object Model)
6. Les Evénements
3
Programmation Web
1
Rappel
4
Programmation Web
1- Rappel
Site Web Statique (Seulement avec HTML+CSS)
Serveur
Web Suffisants pour
la présentation
Requête Réponse
HTTP HTML CSS
De quelle interactivité
parle-t-on ?
5
Programmation Web
1- Rappel
Site Web Statique (Seulement avec HTML+CSS)+Interactif
Serveur
Exemples d’interaction:
Suite à un événement provoqué par Web
l’utilisateur (ex. clique sur un bouton): Interactivité
Site Statique +
- Une élément HTML (Côté Client)
s’affiche/se modifie/se masque. Requête Réponse
- ou Une propriété CSS change.
HTTP HTML CSS
- ou Un résultat d’un calcul est affiché.
- ou Suivant la véracité d’une condition le
contenu de la page Web change.
- ou Vérification du contenu d’un champs
de saisie.
- etc. Action
Navigateur
(Côté Client)
Réaction
6
Programmation Web
1- Rappel
Site Web Statique (Seulement avec HTML+CSS)+Interactif
Serveur
Exemples d’interaction:
Suite à un événement provoqué par Web
l’utilisateur (ex. clique sur un bouton): Interactivité
Site Statique +
- Une élément HTML (Côté Client)
s’affiche/se modifie/se masque. Requête Réponse
- ou Une propriété CSS change.
HTTP HTML CSS
- ou Un résultat d’un calcul est affiché.
- ou Suivant la véracité d’une condition le
contenu de la page Web change.
- ou Vérification du contenu d’un champs
de saisie.
- etc. Action
Navigateur
Les comportements que l’on
souhaite prévoir sur notre (Côté Client)
page Web doivent être
programmés Réaction
7
Programmation Web
1- Rappel
Site Web Statique (Seulement avec HTML+CSS+JS)+Interactif
Serveur
Exemples d’interaction:
Suite à un événement provoqué par Web
l’utilisateur (ex. clique sur un bouton): Interactivité
Site Statique +
- Une élément HTML (Côté Client)
s’affiche/se modifie/se masque. Requête Réponse
- ou Une propriété CSS change.
HTTP HTML CSS JavaScript
- ou Un résultat d’un calcul est affiché.
- ou Suivant la véracité d’une condition le
contenu de la page Web change.
- ou Vérification du contenu d’un champs
de saisie.
- etc. Action Cette programmation se
fait dans des scripts en
Navigateur langage JavaScript
Les comportements que l’on
souhaite prévoir sur notre (Côté Client)
page Web doivent être
programmés Réaction
8
Programmation Web
1- Rappel
Site Web Statique (Seulement avec HTML+CSS+JS)+Interactif
Serveur
Exemples d’interaction:
Suite à un événement provoqué par Web
l’utilisateur (ex. clique sur un bouton): Interactivité
Site Statique +
- Une élément HTML (Côté Client)
s’affiche/se modifie/se masque. Requête Réponse
- ou Une propriété CSS change.
HTTP HTML CSS JavaScript
- ou Un résultat d’un calcul est affiché.
- ou Suivant la véracité d’une condition le
contenu de la page Web change.
- ou Vérification du contenu d’un champs
de saisie.
- etc. Action Cette programmation se
fait dans des scripts en
Navigateur langage JavaScript
Les comportements que l’on
souhaite prévoir sur notre (Côté Client) Ces scripts sont exécutés par le
page Web doivent être
Réaction navigateur au besoin (ex. un
programmés événement click se produit)
9
Programmation Web
2
Les Bases
de la programmation
côté client
10
Programmation Web
2- Les Bases de la programmation côté client
HTML
2
un élément H1 "Compteur=0"
3
1 et un élément Button (bouton)
Prenons l'exemple suivant. "Incrémenter"
Nous avons donc un code
HTML qui contient:
11
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le
comportement suivant bouton "Incrémenter", le compteur
2- Les Bases de la programmation côté client s’incrémente de 1, et si on dépasse 5,
il devient rouge.
HTML
….
12
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le
comportement suivant bouton "Incrémenter", le compteur
2- Les Bases de la programmation côté client s’incrémente de 1, et si on dépasse 5,
il devient rouge.
HTML
Script JS
….
Ce comportement doit
être programmé dans un
script JS (JavaScript).
13
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le
comportement suivant bouton "Incrémenter", le compteur
2- Les Bases de la programmation côté client s’incrémente de 1, et si on dépasse 5,
il devient rouge.
HTML
Script JS
….
Ce comportement doit
être programmé dans un
script JS (JavaScript).
14
Programmation Web lorsque l’utilisateur clique sur le
bouton "Incrémenter", le compteur
2- Les Bases de la programmation côté client s’incrémente de 1, et si on dépasse 5,
il devient rouge.
HTML
Décortiquons un peu ce
comportement
Script JS
….
15
Programmation Web Décortiquons un peu ce lorsque l’utilisateur clique sur le
comportement bouton "Incrémenter", le compteur
2- Les Bases de la programmation côté client s’incrémente de 1, et si on dépasse 5,
il devient rouge.
Evénement
HTML lorsque l’utilisateur clique sur le
bouton "Incrémenter",
Script JS
….
16
Programmation Web Décortiquons un peu ce lorsque l’utilisateur clique sur le
comportement bouton "Incrémenter", le compteur
2- Les Bases de la programmation côté client s’incrémente de 1, et si on dépasse 5,
il devient rouge.
Evénement
HTML lorsque l’utilisateur clique sur le
bouton "Incrémenter",
Traitement
le compteur s’incrémente de 1
Changement visuel
Script JS
….
Nous précisons quoi faire quand cet
événement se réalise (au clic):
Ici, c’est le traitement doIncrement
qui est exécuté (qui est une
fonction).
Traitement
le compteur s’incrémente de 1
Changement visuel
Script JS
….
Traitement
et si on dépasse 5, il devient rouge.
Changement visuel
Changement visuel
On sélectionne un élément HTML (presque
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Plusieurs types de traitements sont contenu de l’élément.
possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation.
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
19
Programmation Web
2- Les Bases de la programmation côté client
Résumons
Visuel
Evénement
HTML
Quelque chose se passe:
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
onload (au chargement de
la page), etc.
Changement visuel
On sélectionne un élément HTML (presque
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Plusieurs types de traitements sont contenu de l’élément.
possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation
affectations, comparaisons, tableaux, etc.
Méthode 1: Enligne
21
Programmation Web
2- Les Bases de la programmation côté client Où mettre les Scripts ?
Méthode 1: Enligne
22
Programmation Web
2- Les Bases de la programmation côté client Où mettre les Scripts ?
23
Programmation Web
2- Les Bases de la programmation côté client
Visuel
Evénement
HTML
Quelque chose se passe:
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
onload (au chargement de
la page), etc.
Changement visuel
Nous allons
On sélectionne un élément HTML (presque
décortiquer
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Plusieurs types de traitements sont contenu de l’élément.
possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation.
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
24
Programmation Web
2- Les Bases de la programmation côté client
du langage
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
Changement visuel
Nous allons
On sélectionne un élément HTML (presque
décortiquer
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Plusieurs types de traitements sont contenu de l’élément.
possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
25
Programmation Web
3- Les Bases du Langage JavaScript
C’est quoi ?
JavaScript est principalement un langage
de programmation côté client.
Historique
• JavaScript (anciennement ECMAScript) a été créée par Netscape (le fameux navigateur Web), en 1990.
• But: Permettre aux développeurs Web d’incorporer un code exécutable dans leurs pages Web.
• Effet: Une page Web pouvait donc contenir un script en JavaScript, qui est exécuté quand l’utilisateur
visite la page (interactivité ou traitement).
26
Programmation Web
3- Les Bases du Langage JavaScript
Familiarités avec les langages de programmation Comme avec tout langage de programmation, en
JavaScript, il y a aussi la console qu’on peut utiliser pour
Contrairement au langage C ou Java, en JavaScript il n’y a pas de notion de afficher (on écrit: console.log("text à afficher")).
fonction principale (la fameuse fonction main()).
Le console est accessible dans n’importe quel
A la place, le navigateur interprète et exécute le code de haut vers le bas, navigateur. Par exemple, ici, on a ouvert la page
et compris les fichiers JS externes. maPage.html, puis les outils de développement, puis
l’onglet Console.
28
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS
1. Syntaxe
2. Variables et Constantes
3. Les opérateurs
4. Les conditions
5. Les boucles
6. Les fonctions
29
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 1. Syntaxe
30
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 2. Variables et Constantes Les Types primitifs
> Console
31
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 2. Variables et Constantes Les Types Complexes
Les Tableaux
> Console
32
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 2. Variables et Constantes Les Types Complexes
Les Objets
33
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 2. Variables et Constantes Les Types Complexes
Tableau d’Objets
34
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 3. Les Opérateurs
35
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 4. Les Conditions
36
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 5. Les Boucles
37
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 6. Les Fonctions
38
Programmation Web
3- Les Bases du Langage JavaScript
Noyau du langage JS 7. Portée d’une variable Globale vs Locale
39
Programmation Web
du langage
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
Changement visuel
Nous allons
On sélectionne un élément HTML (presque
décortiquer
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Plusieurs types de traitements sont contenu de l’élément.
possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
40
Programmation Web
Visuel
Evénement
HTML
Quelque chose se passe:
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
onload (au chargement de
la page), etc.
Changement visuel
Nous allons
On sélectionne un élément HTML (presque
décortiquer
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Plusieurs types de traitements sont contenu de l’élément.
possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation.
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
41
Programmation Web
Visuel
Evénement
HTML
Quelque chose se passe:
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
onload (au chargement de
Changement visuel
Il est important de comprendre Nous allons
On sélectionne un élément HTML (presque
décortiquer
le DOM, pour savoir comment
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
sélectionner un élément HTML
Plusieurs types de traitements sont contenu de l’élément.
et comment le modifier. possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation.
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
42
Programmation Web
4- Manipulation du DOM
Rappel: Structure d’un document HTML La racine
HTML
Document HTML
head body
<html>
<head>
</head> …. p p
<body>
<p>
…. ….
Bienvenue sur <strong>Bingo</strong>, le site
de <em>formation</em>. Un modèle en ARBRE
</p>
<p> Aujourd’hui nous allons parler de HTML. </p>
</body>
Le DOM: Document Object Model
</html>
43
Programmation Web
4- Manipulation du DOM
Le DOM (Document Object Model)
44
Programmation Web
4- Manipulation du DOM
Le DOM (Document Object Model)
HTML
Dans cet exemple, nous
avons d’abord retrouvé
l’élément h1, avec son
identifiant "compt_H1", et
nous avons changer son
contenu.
Script JS
….
Il existe plusieurs
Ici, nous avons changé son manières pour retrouver
style CSS un élément HTML.
46
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML
Par identifiant
Par class
Il existe plusieurs
manières pour retrouver
un élément HTML.
47
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML
Par identifiant
Par class
48
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par identifiant
document
HTML
h1 h2 h2 h2 p p
1
Je veux le
modifier
getElementById(<id>)
Retourne un seul élément qui possède l’identifiant id indiqué
49
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par identifiant
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec son id
getElementById(<id>)
Retourne un seul élément qui possède l’identifiant id indiqué
3
On commence toujours par "document", car c’est lui la racine 50
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par identifiant
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec son id
getElementById(<id>)
Retourne un seul élément qui possède l’identifiant id indiqué
4
L’élément récupéré est un objet qui
possède des propriété et des
méthodes. "innerHTML" est une
propriété qui renferme le contenu de
l’élément. Donc la modifier, permettra
3 d’avoir une différence au visuel dans la
On commence toujours par "document", car c’est lui la racine page Web. 51
Programmation Web
L’élément touché par la modification
4- Manipulation du DOM Après clique sur bouton "Exécuter
Script", qui déclenche la fonction
doTraitement()
Retrouver un élément HTML Par identifiant 5
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec son id
getElementById(<id>)
Retourne un seul élément qui possède l’identifiant id indiqué
4
L’élément récupéré est un objet qui
possède des propriété et des
méthodes. "innerHTML" est une
propriété qui renferme le contenu de
l’élément. Donc la modifier, permettra
3 d’avoir une différence au visuel dans la
On commence toujours par "document", car c’est lui la racine page Web. 52
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML
Par identifiant
Par class
53
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par le nom de balise
document
HTML
h1 h2 h2 h2 p p
1
Je veux le
modifier
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
54
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par le nom de balise
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec le nom balise
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
55
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par le nom de balise
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec le nom balise
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
3
Même s’il y a un seul h1 dans notre page
HTML, la méthode getElementsByTagName
retourne toujours une collection.
Dans notre cas, la collection contiendra un seul
élément h1, et pour le retrouver, on lit le
premier item de cet collection, avec [0] (car
une collection commence de l’index 0) 56
Programmation Web
L’élément touché par la modification
4- Manipulation du DOM Après clique sur bouton "Exécuter
Script", qui déclenche la fonction
doTraitement()
Retrouver un élément HTML Par le nom de balise 4
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec le nom balise
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
3
Même s’il y a un seul h1 dans notre page
HTML, la méthode getElementsByTagName
retourne toujours une collection.
Dans notre cas, la collection contiendra un seul
élément h1, et pour le retrouver, on lit le
premier item de cet collection, avec [0] (car
une collection commence de l’index 0) 57
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML
Par identifiant
Par class
58
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par class
document
HTML
h1 h2 h2 h2 p p
1
Je veux le
modifier
getElementsByClassName(<class>)
Retourne toujours une collection d’éléments d’une classe données
59
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par class
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec le nom classe
getElementsByClassName(<class>)
Retourne toujours une collection d’éléments d’une classe données
60
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par class
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec le nom classe
getElementsByClassName(<class>)
Retourne toujours une collection d’éléments d’une classe données
3
Dans notre cas, la collection contiendra un seul
élément p, et pour le retrouver, on lit le
premier item de cet collection, avec [0] (car
une collection commence de l’index 0)
61
Programmation Web
L’élément touché par la modification
4- Manipulation du DOM Après clique sur bouton "Exécuter
Script", qui déclenche la fonction
doTraitement()
Retrouver un élément HTML Par class 4
document
HTML
h1 h2 h2 h2 p p
1 2
Je veux le Je peux le retrouver
modifier avec le nom classe
getElementsByClassName(<class>)
Retourne toujours une collection d’éléments d’une classe données
3
Dans notre cas, la collection contiendra un seul
élément p, et pour le retrouver, on lit le
premier item de cet collection, avec [0] (car
une collection commence de l’index 0)
62
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML
Par identifiant
Par class
63
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par sélecteur CSS
1
Je veux le
modifier
querySelectorAll(<sélecteur>)
Retourne toujours une collection d’éléments d’un sélecteur donné
64
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML Par sélecteur CSS
1 2
Je veux le Je peux le retrouver
modifier avec un Sélecteur CSS
querySelectorAll(<sélecteur>)
Retourne toujours une collection d’éléments d’un sélecteur donné
65
Programmation Web
L’élément touché par la modification
4- Manipulation du DOM Après clique sur bouton "Exécuter
Script", qui déclenche la fonction
doTraitement()
Retrouver un élément HTML Par sélecteur CSS
3
1 2
Je veux le Je peux le retrouver
modifier avec un Sélecteur CSS
querySelectorAll(<sélecteur>)
Retourne toujours une collection d’éléments d’un sélecteur donné
66
Programmation Web
4- Manipulation du DOM
Retrouver plusieurs éléments HTML
Par identifiant
Jusqu’à présent, on n’a vu que
Par le nom de balise l’exemple avec un seul élément
récupéré…
Par class ….Mais, imaginons que ma sélection
retourne plusieurs éléments
Par sélecteur CSS
67
Programmation Web
4- Manipulation du DOM
Retrouver plusieurs éléments HTML
1
Je veux les
modifier
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
68
Programmation Web
4- Manipulation du DOM
Retrouver plusieurs éléments HTML
1 2
Je veux les Je peux les retrouver
modifier avec le nom Balise h2
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
69
Programmation Web
4- Manipulation du DOM
Retrouver plusieurs éléments HTML
1 2
Je veux les Je peux les retrouver
modifier avec le nom Balise h2
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
3
Comme getElementsByTagName retourne
toujours une collection, et ma collection
contient les 3 élément h2 présent dans mon
document HTML, je dois faire une boucle pour
parcourir la sélection, et faire mon traitement.
70
Programmation Web
L’élément touché par la modification
4- Manipulation du DOM Après clique sur bouton "Exécuter
Script", qui déclenche la fonction
doTraitement()
Retrouver plusieurs éléments HTML 4
1 2
Je veux les Je peux les retrouver
modifier avec le nom Balise h2
getElementsByTagName(<tag>)
Retourne toujours une collection d’éléments d’une balise données
3
Comme getElementsByTagName retourne
toujours une collection, et ma collection
contient les 3 élément h2 présent dans mon
document HTML, je dois faire une boucle pour
parcourir la sélection, et faire mon traitement.
71
Programmation Web
4- Manipulation du DOM
Retrouver un élément HTML
Par identifiant
Par class
72
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
73
Programmation Web D’abord, il faut savoir qu’en JavaScript, un élément HTML
est un objet qui possède des propriétés et des méthodes
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
lastChild appendChild()
nextSibling replaceChild()
(Partie 2)
Voir d’autres ici: https://www.w3schools.com/jsref/dom_obj_all.asp
74
Programmation Web D’abord, il faut savoir qu’en JavaScript, un élément HTML
est un objet qui possède des propriétés et des méthodes
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
75
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
76
Programmation Web
4- Manipulation du DOM
Un élément HTML
Propriétés
parentNode
childNodes
Ces propriétés permettent la
firstChild navigation dans l’arbre, par rapport
à l’élément récupéré
lastChild
nextSibling
Exemple:
Si l’élément récupéré c’est body.
La propriété childNodes de cet élément
donnera la collection d’élément h1, p, p
77
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
78
Programmation Web
4- Manipulation du DOM
Un élément HTML
innerHTML est
Propriétés reconnue comme
du code HTML
innerHTML
innerText
Permettent la
modification du
contenu de l’élément. innerText est
reconnue comme
du texte simple
79
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
80
Programmation Web HTML
4- Manipulation du DOM
Un élément HTML
Propriétés
attributs
Console
81
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
82
Programmation Web
4- Manipulation du DOM
Un élément HTML
Propriétés
style
84
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
85
Programmation Web
4- Manipulation du DOM
Un élément HTML
Méthodes
append()
86
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
87
Programmation Web
4- Manipulation du DOM
Un élément HTML
Méthodes
remove()
removeChild()
replaceChild()
appendChild()
L’élément Titre 1
Permet de supprimer a été supprimé.
l’élément
88
Programmation Web
4- Manipulation du DOM
Un élément HTML
Méthodes
remove()
removeChild()
replaceChild()
Au premier clic, Titre2
est supprimé.
appendChild()
Permet de supprimer
un élément enfant Au deuxième clic, Titre3
est supprimé.
Un élément HTML
Méthodes
remove()
removeChild()
replaceChild()
Permet de remplacer
un élément enfant Au deuxième clic, Titre 3 est remplacé
par Titre 1 encore
Un élément HTML
Méthodes
remove()
removeChild()
replaceChild()
Permet de rajouter un
élément enfant à la fin
91
Programmation Web
4- Manipulation du DOM
Un élément HTML
Méthodes
Je peux créer un élément HTML à partir de 0, et l’insérer dans le DOM
remove()
removeChild()
replaceChild()
appendChild()
Permet de rajouter un
élément enfant
92
Programmation Web
4- Manipulation du DOM
Un élément HTML
Méthodes
Je peux créer un élément HTML à partir de 0, et l’insérer dans le DOM
remove()
replaceChild()
appendChild()
Permet de rajouter un
élément enfant
93
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
94
Programmation Web
4- Manipulation du DOM
Un élément HTML
Méthodes
hasAttribute()
getAttribute()
setAttribute()
Permettent de d’accéder
aux attributs de l’élément
Remarquez la différence
entre:
getAttribute("src")
et element.src
getAttribute retourne la valeur exacte de l’attribut !
95
Programmation Web
4- Manipulation du DOM
Le tout se fait généralement en 2 étapes :
Un élément HTML
1- Retrouver l’élément HTML
2- Faire une opération
Propriétés Méthodes
96
Programmation Web
DOM vs BOM
97
Programmation Web
5- Le BOM (Browser Object Model)
DOM
Rappelez-vous HTML
head body
…. p p
…. ….
98
Programmation Web
5- Le BOM (Browser Object Model)
Maintenant, il faut savoir
que l’objet document est
lui-même un enfant de
l’objet window window
DOM
document
HTML
head body
…. p p
…. ….
99
Programmation Web
5- Le BOM (Browser Object Model)
Maintenant, il faut savoir
que l’objet document est
lui-même un enfant de
l’objet window window
DOM
document
HTML
head body
…. p p
…. ….
100
Programmation Web
5- Le BOM (Browser Object Model)
DOM
HTML
head body
…. p p
…. ….
101
Programmation Web
5- Le BOM (Browser Object Model)
BOM: Browser Object
Model
window
DOM
HTML
head body
…. p p
…. ….
102
Programmation Web
5- Le BOM (Browser Object Model)
Quelques propriétés et méthodes intéressantes
Voir d’autres ici:
https://www.w3schools.com/jsref/obj_window.asp window
DOM
Méthodes
document
alert() screen location history navigator
Affiche une boite d’alerte.
HTML
Prompt()
scrollBy();
…. ….
Scroll par un pas spécifié
103
Programmation Web
5- Le BOM (Browser Object Model)
Quelques propriétés et méthodes intéressantes
Voir d’autres ici:
https://www.w3schools.com/jsref/obj_window.asp window
DOM
head body
…. p p
…. ….
104
Programmation Web
5- Le BOM (Browser Object Model)
Quelques propriétés et méthodes intéressantes
Voir d’autres ici:
https://www.w3schools.com/jsref/obj_window.asp window
DOM
Méthodes
document screen location history navigator
back()
go()
HTML
forward()
head body
…. p p
…. ….
105
Programmation Web
5- Le BOM (Browser Object Model)
Quelques propriétés et méthodes intéressantes
Voir d’autres ici:
https://www.w3schools.com/jsref/obj_window.asp window
DOM
Propriétés
document screen location history navigator
platform
HTML
head body
…. p p
…. ….
106
Programmation Web
5- Le BOM (Browser Object Model)
Quelques propriétés et méthodes intéressantes BOM: Browser Object
Model
window
DOM
HTML
Voir d’autres ici:
https://www.w3schools.com/jsref/obj_window.asp
head body
…. p p
…. ….
107
Programmation Web
Visuel
Evénement
HTML
Quelque chose se passe:
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
onload (au chargement de
Changement visuel
Il est important de comprendre Nous allons
On sélectionne un élément HTML (presque
décortiquer
le DOM, pour savoir comment
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
sélectionner un élément HTML
Plusieurs types de traitements sont contenu de l’élément.
et comment le modifier. possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation.
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
108
Programmation Web
Visuel
Evénement
HTML
Quelque chose se passe:
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
onload (au chargement de
la page), etc.
Changement visuel
Nous allons
On sélectionne un élément HTML (presque
décortiquer
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Plusieurs types de traitements sont contenu de l’élément.
possibles, comme ce qui peut se faire dans Ou, on modifie le style, pour, par exemple,
un langage de programmation: déclaration changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation.
affectations, comparaisons, tableaux, etc.
En langage JavaScript.
109
Programmation Web
Visuel
Evénement
HTML
Quelque chose se passe:
Plusieurs événements sont
possibles, par exemple:
onclick (au clic),
onmouseover (au survol),
onload (au chargement de
la page), etc.
Changement visuel
Nous allons
On sélectionne un élément HTML (presque
décortiquer
Traitement comme le fait le CSS), puis on modifie le
Script JS code HTML pour, par exemple, changer le
Les Evénements
Plusieurs types de traitements sont
possibles, comme ce qui peut se faire dans
un langage de programmation: déclaration
contenu de l’élément.
Ou, on modifie le style, pour, par exemple,
changer la couleur d’un élément.
de variables, opérations arithmétiques, Tout est modifiable par programmation.
Il est
important de connaitre
affectations, les événements
comparaisons, tableaux, etc.
En langage JavaScript.
possibles, pour maitriser l’interaction avec
l’utilisateur
110
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
111
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
C’est un Evénement
112
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
C’est un Evénement
113
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
Mais je le déclare où ??
C’est un Evénement
114
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
C’est un Evénement
115
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
116
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
le "lorsque l’utilisateur clique" sur sur le bouton "Incrémenter" Je fait un traitement Une fonction qu’on appellera par
exemple "do Traitement", et
C’est un Evénement qu’on définira
En JavaScript, cet événement compteur s’incrémente
s’appel "onclick" de 1, et si on dépasse 5,
il devient rouge.
117
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
Rappelez-vous
HTML
Script JS
118
Programmation Web On voudrait prévoir le lorsque l’utilisateur clique sur le bouton
comportement suivant "Incrémenter", (un traitement)
6- Les Evénements (traitement) c’est : le compteur s’incrémente
de 1, et si on dépasse 5, il devient rouge.
HTML
Au clic
Script JS
Au clic
….
119
Programmation Web
6- Les Evénements
HTML
Au survol
Passage de la
souris, sans clique
Au survol
….
le "lorsque l’utilisateur clique"
clique
Evénement survol
onmouseover Mais il existe d’autres
événements possibles
120
Programmation Web
6- Les Evénements
HTML
Au survol
Passage de la
souris, sans clique
Au survol
….
le "lorsque l’utilisateur clique"
clique
Evénement survol
onmouseover
Liste des événéments possibles
https://www.w3schools.com/jsref/dom_obj_event.asp
https://developer.mozilla.org/fr/docs/Web/Events
121
Programmation Web
6- Les Evénements
HTML
Au survol de
Ici: j’ai mis mon traitement directement dans le HTML
Titre1
(juste montrer la possibilité).
J’ai aussi utilisé 2 événement:
• onmousover (au passage de la souris)
• onmousleave (quand l’élément n’est plus survolé)
122
Programmation Web
Liens utiles
W3Schools
https://www.w3schools.com/
123
Programmation Web
La suite ? Prochain cours
Site dynamique
(programmation
Les bases de données Chapitre 5 Chapitre 4 côté serveur)
Serveur
Web
Base de données
HTML
Chapitre 1
Site
CSS
Statique
Chapitre 2
Chapitre 3
Interactivité Navigateur
(programmation JavaScript Chapitre 0
côté client)
Introduction
124
Programmation Web
Merci
125