Lior CHAMLA
Je suis formateur dans les technologies du Web depuis 2009 : HTML, CSS, Javascript, jQuery, PHP, Programmation Orientée Objets, etc
HyperText Markup Language permet de structurer les éléments d'une page web.
Ces éléments sont structurés sous forme de balises et organisés dans un arbre (une racine et des noeuds imbriqués)
Le HTML est envoyé par le serveur puis interprété par le navigateur selon un certain nombre de règles sémantiques.
Nous sommes aujourd'hui à la version 5 de HTML, dite HTML 5
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Ma page HTML</title>
</head>
<body>
<h1>Ma première page HTML</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
Quasi ducimus dicta in doloremque natus. Qui, atque adipisci
fuga fugiat exercitationem quam molestiae aut ad maxime!
</p>
<a href="http://www.google.com">
Voici un lien !
</a>
</body>
</html>
Cascading SteelSheets (ou feuilles de styles en cascades) est un langage de description qui permet de styliser les éléments d'une page HTML.
Comme le HTML, le CSS est téléchargé par le client (le navigateur) puis interprété afin de styliser les éléments de la page HTML.
h1 {
color: red;
font-size: 22px;
}
p {
color: blue;
font-style: italic;
}
a {
border: 1px solid red;
color: red;
padding: 5px;
text-decoration: none;
}
Langage de script créé en 1995 par Netscape et standardisé par ECMA International.
Il permet principalement de créer du dynamisme et de l’interactivité au sein de pages web
Javascript est un langage de développement "comme les autres" :
Les différents navigateurs n'implémentent pas tous Javascript de la même façon !
Il en résulte parfois des incompatibilités d'un même script Javascript en fonction du navigateur sur lequel la page est affichée !
Le Document Object Model c'est la façon dont votre navigateur voit les éléments de votre page HTML
Javascript permet d’interagir avec le DOM afin de modifier les éléments, d'en ajouter ou même d'en supprimer
DOM est aussi une norme de programmation qui est indépendante des langages. On peut donc l'utiliser en Javascript mais aussi en PHP, en Java, en Ruby, etc.
C'est simplement un ensemble de fonctions qui permettent d’interagir avec les éléments HTML / XML
// sélectionne l'élément dont l'id est 'monBouton'
document.getElementById('monBouton')
// sélectionne les éléments qui ont la classe 'bouton'
document.getElementsByClassName('bouton')
// sélectionne les éléments qui sont des paragraphes (<p>)
document.getElementsByTagName('p')
// ajoute un élément dans le document
document.appendChild(...)
// créé un élement de type paragraphe (<p>)
document.createElement('p')
// sélectionne le premier élément trouvé qui a la classe 'bouton'
document.querySelector('.bouton')
// sélectionne tous les éléments qui ont la classe 'bouton'
document.querySelectorAll('.bouton')
// renvoie la (les) classes css de l'élément
var classes = document.getElementById('monBouton').className;
// modifie la (les) classes css de l'élément
document.getElementById('monBouton').className = 'bouton rouge';
// modifier le style d'un élément directement
document.getElementById('monBouton').style.fontSize = '20px';
document.getElementById('monBouton').style.fontWeight = 'bold';
// voir le code HTML au sein d'un élément
document.getElementById('monParagraphe').innerHTML;
// modifie le code HTML au sein d'un élément
document.getElementById('monParagraphe').innerHTML = '<h2>Bonjour</h2>';
// selectionne une liste désordonnée sur ma page dont l'ID est 'monUL'
var ul = document.getElementById('monUL');
// récupère les enfants de l'élément <ul> (les <li> qu'il contient)
var enfants = ul.children;
// récupère le nombre d'enfants du <ul>
var nombre = ul.childElementCount
// récupère le premier <li> dans le <ul>
var premier = ul.firstElementChild
// récupère le dernier <li> dans le <ul>
var dernier = ul.lastElementChild
// récupère l'élément d'avant si il existe
var previous = dernier.previousElementSibling
// récupère l'élément d'après si il existe
var suivant = premier.nextElementSibling
// récupère l'élément parent du <ul>
ul.parentElement
Un des avantages de l'utilisation du DOM est l’existence des événements !
Lorsqu'il se passe quelque chose au niveau des éléments du DOM, des événements sont déclenchés !
On peut "écouter" ces événements et déclencher ainsi des actions précises (quand on clique sur tel lien, faire ceci, quand la page est chargée, faire cela).
Chaque élément HTML peut déclencher des événements propres !
Evénements page et fenêtre
Evénements souris
Evénements formulaire
<a id="monBouton" href="#!" onclick="alert('Bonjour !');">
Voici un lien !
</a>
<!-- ou -->
<script>
document.getElementById('monBouton').onclick = function(){
alert('Bonjour !');
}
</script>
By Lior CHAMLA
Javascript et les éléments HTML : Le DOM
Je suis formateur dans les technologies du Web depuis 2009 : HTML, CSS, Javascript, jQuery, PHP, Programmation Orientée Objets, etc