Skip to content

mijkami/jQueryExercises

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

______               ____  ___     
| ___ \             | |  \/  |     
| |_/ /___  __ _  __| | .  . | ___ 
|    // _ \/ _` |/ _` | |\/| |/ _ \
| |\ \  __/ (_| | (_| | |  | |  __/
\_| \_\___|\__,_|\__,_\_|  |_/\___|

Exercices jQuery / Formation web & mobile ICS - Nice

https://learn.jquery.com/

Sommaire :

Pour faciliter votre navigation : vous pouvez utiliser les liens internes ci-dessus, et soit utiliser la fonction "page précédente" de votre navigateur pour revenir sur le sommaire, soit tout simplement utiliser le défilement habituel (via pad, roulette de souris ou barre de défilement). Bonne lecture !

Description

🚀 Le repo ici-présent contient quelques petits exercices sur jQuery, orientés autour d'une introduction sur les manipulation du DOM via jQuery.

Comment faire

  • cloner ou télécharger via le bouton vert en haut à droite
  • ouvrir index.html dans votre navigateur préféré
  • ouvrir js/main.js
  • suivre les instructions !
  • éventuellement se référer aux corrections disponibles dans js/correction.js, n'hésitez pas à chercher à quoi correspondent les fonctions que vous ne connaissez pas encore 😉.

Introduction

jQuery a été mis en place pour s'intégrer facilement avec le HTML et le CSS.

Au niveau des sélecteurs CSS, si vous savez déjà que div#heading réfère à un élément 'div' ayant l'id "heading" ; la transition se fera rapidement.

https://fr.wikipedia.org/wiki/Document_Object_Model

A noter que le DOM a déjà été décrit comme étant "la pire API jamais conçue" (Douglas Crockford)...

Outre la prise en charge des différents navigateurs, jQuery est aussi renommé pour avoir fourni aux développeurs des sélecteurs d'éléments utilisant une syntaxe bien plus simple que celle existante au départ.

Aujourd'hui, l'usage de ces sélecteurs est toujours possible mais n'est plus aussi intéressant que par le passé depuis l'implémentation en 2009 de Javascript Version 5 a amenée différents outils venant de jQuery, dont les querySelectors utilisés dans le JavaScript "simple" (aussi appelé "vanilla JavaScript").

Comparaison JS et jQuery

En premier lieu, n'hésitez pas à consulter ce site qui offre des comparaisons intéressantes entre des scripts équivalents (et modernes) JavaScript et jQuery.

Histoire de comparer, voyons comment ajouter "Bonjour" après un élément quelconque via les différentes syntaxes à disposition :

  • en JavaScript pur (aussi appelé "vanilla". C'est une version exagérément longue que l'on peut retrouver parfois) :
var bloc = document.createElement("p");
var txt = document.createTextNode("bonjour");
bloc.appendChild(txt);
console.log(bloc);
document.getElementsByTagName("ul")[0].appendChild(bloc);
  • toujours en javascript, ce cas peut se simplifier :
document.getElementsByTagName("ul")[0].innerHTML += "<p>Bonjour</p>";
  • en jQuery, on aura :
$("ul").first().append("<p>Bonjour</p>");
  • en JavaScript simple/vanilla On a aussi l' API Selectors disponible en :
document.querySelectorAll('ul') += "<p>Bonjour</p>"

ou encore

ul.firstChild.appendChild("<p>Bonjour</p>")

Méthodes de navigation directe

  • parent() : renvoie le parent direct du/des élements sélectionnés
	$("ul").parent().append("<div>Bonjour</div>");
  • children() : renvoie tous les enfants de la sélection
	$("ul").children().append("<div>Bonjour</div>");
  • next() : renvoie le sibling (frère/soeur) suivant la sélection
	$("ul").next().append("<div>Bonjour</div>");
  • prev() : renvoie le sibling (frère/soeur) précédent la sélection
	$("ul").prev().append("<div>Bonjour</div>");
  • first() : renvoie le premier élément de la sélection
	$("ul").first().append("<div>Bonjour</div>");
  • last() : renvoie le dernier élément de la sélection
	$("ul").last().append("<div>Bonjour</div>");
  • last() : renvoie le dernier élément de la sélection
	$("ul").last().append("<div>Bonjour</div>");
  • eq(i) : renvoie l'élément d'index i (démarre à 0) parmi la sélection
	$("ul").children().eq(2).append("<div>Bonjour</div>");

Méthodes pour ajouter et supprimer des éléments

  • append("nouvel élément") : ajoute les éléments entre parenthèses comme enfants à la fin des éléments sélectionnés initialement
	$("ul").append("<div>Bonjour</div>");
  • prepend("nouvel élément") : ajoute les éléments entre parenthèses comme enfants au début des éléments sélectionnés initialement
	$("ul").prepend("<div>Bonjour</div>");
  • after("nouvel élément") : ajoute les éléments entre parenthèses comme siblings (frères/soeurs) après les éléments sélectionnés initialement
	$("ul").after("<div>Bonjour</div>");
  • before("nouvel élément") : ajoute les éléments entre parenthèses comme siblings (frères/soeurs) avant les éléments sélectionnés initialement
	$("ul").before("<div>Bonjour</div>");
  • remove() : retire / supprime les éléments sélectionnés et tout leur contenu
	$("ul").remove();
  • empty() : retire / supprime uniquement le contenu des éléments sélectionnés (texte compris)
	$("ul").empty();

Méthodes manquantes

"Il manque des méthodes ! Et le reste ?"

=> RTFM mes chers amis ! Les parties précédentes avaient pour visée de fournir une introduction sur la façon d'intéragir avec la documentation et d'introduire / dégrossir jQuery.

Utilisez au mieux les liens de 👩‍🎓documentation👨‍🎓 fournis ci-dessous 👇.

N.B. :

Autre librairies permettant la manipulation du DOM : MooTools, Prototype & Closure.

Sources

API

Documentation

Cours

Vidéos

Comparaison (et critique) avec le JavaScript "vanilla" moderne

Exercices divers

Remerciements Aknowledgements

Le micro-site sur lequel est basé l'exercice a été très largement inspiré de celui présent sur codecademy. Les exercices en tant que tels sont différents ainsi que la documentation ci-présente. De plus, ce mini-projet a été réalisé uniquement dans un but éducatif et non-commercial entre étudiants comme support d'une partie mineure d'un cours sur le jQuery.

Une partie des liens (spécialement certains cours et exercices listés dans les sources ci-dessus) proviennent des fabuleux membres du groupe ayant couvert avec ma participation les cours sur jQuery :

  • Marie-Amandine
  • Anaëlle
  • Younès
  • James

Merci à tous ceux qui ont participé et surtout à vous qui êtes arrivés jusqu'au bout de la lecture de ce long Readme ! 👍

About

A jQuery introduction in french made for classmates, oriented around DOM manipulation and with an extensive list of documentation & links in the README file.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published