Javascript #7 : manipuler le dom

16
Javascript : Manipuler le DOM

description

Javascript #7 : manipuler le dom

Transcript of Javascript #7 : manipuler le dom

Page 1: Javascript #7 : manipuler le dom

Javascript : Manipuler le DOM

Page 2: Javascript #7 : manipuler le dom

1. DOM ?

Page 3: Javascript #7 : manipuler le dom

Le Document Object Model (ou DOM) est un standard du W3C qui décrit une interface indépendante de tout langage de programmation et de toute plate-forme, permettant à des programmes informatiques et à des scripts d'accéder ou de mettre à jour le contenu, la structure ou le style de documents XML et HTML

Document Object Model

http://fr.wikipedia.org

Page 4: Javascript #7 : manipuler le dom

DOM & tree

<!DOCTYPE html> <html> <head> <title>Exemple</title> </head> <body> <h1>Super titre</h1> <p>Super text</p> </body> </html>

html

head body

title

Exemple

h1

Super titre

h1

Super text

Page 5: Javascript #7 : manipuler le dom

L’objet document

Touts page web chargée dans un navigateur web a son propre objet document. Cet objet sert de point d'entrée au contenu de la page et apporte des fonctions générales au document.https://developer.mozilla.org

Page 6: Javascript #7 : manipuler le dom

2. Sélection

Page 7: Javascript #7 : manipuler le dom

Accéder aux éléments (1)

var elementH1 = document.querySelector('h1'); console.log(typeof elementH1); // object console.log(elementH1); // <h1>Super titre</h1>

var elementH2 = document.querySelector('h2'); console.log(typeof elementH2); // object console.log(elementH2); // null

<h1>Super titre</h1> <p>Super text</p> <ul id="listTest"> <li>Test1</li> <li>Test2</li> <li>Test3</li> </ul>

Page 8: Javascript #7 : manipuler le dom

Accéder aux éléments (2)

var listElements = document.querySelectorAll('#listTest li'); console.log(typeof listElements); // object console.log(listElements); // [li, li, li, item: function]

<h1>Super titre</h1> <p>Super text</p> <ul id="listTest"> <li>Test1</li> <li>Test2</li> <li>Test3</li> </ul>

Page 9: Javascript #7 : manipuler le dom

3. Edition

Page 10: Javascript #7 : manipuler le dom

Accéder aux éléments (1)

<h1 class="toto">Super titre</h1> <p>Super text</p> <ul id="listTest"> <li>Test1</li> <li>Test2</li> <li>Test3</li> </ul>

var elementH1 = document.querySelector('h1'); elementH1.className = 'toto';

Page 11: Javascript #7 : manipuler le dom

Accéder aux éléments (1)

var listElements = document.querySelectorAll('#listTest li');

for (var i = 0; i < listElements.length; i++) { listElements[i]['id'] = 'list'+i; };

<h1>Super titre</h1> <p>Super text</p> <ul id="listTest"> <li id="list0">Test1</li> <li id="list1">Test2</li> <li id="list2">Test3</li> </ul>

Page 12: Javascript #7 : manipuler le dom

3. Création

Page 13: Javascript #7 : manipuler le dom

Créer un élément

var newLiElement = document.createElement('li'); newLiElement.className = 'toto'; newLiElement.innerHTML = 'New Element';

<h1>Super titre</h1> <p>Super text</p> <ul id="listTest"> <li>Test1</li> <li>Test2</li> <li>Test3</li> </ul>

Page 14: Javascript #7 : manipuler le dom

Ajouter un élément

var newLiElement = document.createElement('li'); newLiElement.className = 'toto'; newLiElement.innerHTML = 'New Element';

var elementUl = document.querySelector('ul');

elementUl.appendChild(newLiElement);

<h1>Super titre</h1> <p>Super text</p> <ul id="listTest"> <li>Test1</li> <li>Test2</li> <li>Test3</li> <li class="toto">New Element</li> </ul>

Page 15: Javascript #7 : manipuler le dom

Merci pour votre attention.

Page 16: Javascript #7 : manipuler le dom

BibliographieEloquent JavaScript - Marijn Haverbeke http://eloquentjavascript.net

Guide JavaScript - teoli, BenoitL, delislejm, Ame_Nomade, SphinxKnight https://developer.mozilla.org/fr/docs/Web/JavaScript/Guide

ECMAScript Language Specification - Ecma International http://ecma-international.org/ecma-262/5.1/

Javascript: The Definitive Guide - David Flanagan https://www.inkling.com/read/javascript-definitive-guide-david-flanagan-6th