Jquery : bibliothèque JavaScript Jquery : bibliothèque JavaScript
Faites davantage avec moins de code!
Faites davantage avec moins de code!
jQuery
Sujets spéciaux en TI Sujets spéciaux en TI
Le Web 2.0 : concepts et outils
Le Web 2.0 : concepts et outils
École de technologie supérieure École de technologie supérieure
par
par
Claude Coulombe
jQuery -
jQuery -
Write less, do more.
Write less, do more.
jQuery est une bibliothèque JavaScript qui
jQuery est une bibliothèque JavaScript qui
retient l’attention en raison de sa syntaxe
retient l’attention en raison de sa syntaxe
astucieuse, de ses performances, de sa
astucieuse, de ses performances, de sa
compacité et de son approche modulaire à
compacité et de son approche modulaire à
base de plugins.
base de plugins.
http://www.jQuery.com jQuery Write Less, Do More.jQuery – Concepts de base
jQuery – Concepts de base
• Enveloppe logicielle (Wrapper) jQuery ou $Enveloppe logicielle (Wrapper) jQuery ou $
• Emploi intelligent de sélecteurs basés sur CSS 3 pour Emploi intelligent de sélecteurs basés sur CSS 3 pour sélectionner des objets DOM dans une page web
sélectionner des objets DOM dans une page web
• Retour par les fonctions jQuery de tableaux (Array) Retour par les fonctions jQuery de tableaux (Array) d’objets
d’objets
• Puissantes fonctions de manipulation d’objets du DOMPuissantes fonctions de manipulation d’objets du DOM • Opération sur l’ensemble des objets d’un tableau Opération sur l’ensemble des objets d’un tableau
d’objets sans utiliser de boucle explicite d’objets sans utiliser de boucle explicite • Chaînage des opérationsChaînage des opérations
jQuery – Sélecteurs d’objets DOM
jQuery – Sélecteurs d’objets DOM
•Sélection par identifiant (id)
Sélection par identifiant (id)
jQuery("#monId")
jQuery("#monId")
•
Sélection par classe (CSS class)
Sélection par classe (CSS class)
jQuery(".maClasse")
jQuery(".maClasse")
•
Sélection par balise (tag)
Sélection par balise (tag)
jQuery("div")
jQuery("div")
•Documentation
Documentation
jQuery – Filtres d’objets DOM
jQuery – Filtres d’objets DOM
•
Emploi de filtres pour réduire les
Emploi de filtres pour réduire les
tableaux d’objets (opérateur “:”)
tableaux d’objets (opérateur “:”)
jQuery("div:eq(1)")
jQuery("div:eq(1)")
jQuery("span:not(#monId)")
jQuery("span:not(#monId)")
jQuery("p:first").hasClass("myClass")
jQuery("p:first").hasClass("myClass")
jQuery –
jQuery –
Manipulation d’objets DOM
Manipulation d’objets DOM
• Création d’un fragment de HTML et ajout à la fin du Création d’un fragment de HTML et ajout à la fin dudocument document
jQuery("<p>Qu’est-ce que jQuery?</p>").appendTo("body")
jQuery("<p>Qu’est-ce que jQuery?</p>").appendTo("body")
• Changement de CSSChangement de CSS
jQuery("#monId").toggleClass("surbrillance")
jQuery("#monId").toggleClass("surbrillance")
jQuery("tr").toggleClass("couleurLigne")jQuery("tr").toggleClass("couleurLigne")
• Changement de texteChangement de texte
jQuery(".classeTexte").text("texte de remplacement") jQuery(".classeTexte").text("texte de remplacement")
• DocumentationDocumentation
jQuery –
jQuery –
Chaînage des opérations
Chaînage des opérations
Chaque opération jQuery retourne une référence à un Chaque opération jQuery retourne une référence à un tableau d’objets auquel on peut appliquer une autre tableau d’objets auquel on peut appliquer une autre opération, voir un enchaînement d’opérations.
opération, voir un enchaînement d’opérations. Par exemple
Par exemple
jQuery("#monId").addClass(
jQuery("#monId").addClass(
"
"
maClasseCSS");maClasseCSS"); jQuery(jQuery(
"
"
#monId#monId"
"
).show();).show(); DevientDevient jQuery(
jQuery –
jQuery –
Boucle implicite
Boucle implicite
Certaines instructions de jQuery réalisent des boucles Certaines instructions de jQuery réalisent des boucles
implicites sur des ensembles de données. implicites sur des ensembles de données.
Par exemple : Par exemple : jQuery.each([0,1,2,3,4], function() { jQuery.each([0,1,2,3,4], function() { document.write(this + 1);document.write(this + 1); });}); Écrit :Écrit : 1234512345
jQuery –
jQuery –
Initialisation au chargement
Initialisation au chargement
Au moment du chargement d’une page jQuery fournit le
Au moment du chargement d’une page jQuery fournit le
contrôleur
contrôleur readyready. Le contrôleur . Le contrôleur readyready initie l’exécution du code initie l’exécution du code lorsque le document est chargé mais sans attendre le
lorsque le document est chargé mais sans attendre le
chargement des images et l’exécution du contrôleur
chargement des images et l’exécution du contrôleur onloadonload..
jQuery(document).ready( function() {
jQuery(document).ready( function() {
// code à exécuter au moment du chargement
// code à exécuter au moment du chargement
});
jQuery –
jQuery –
Ajax
Ajax
jQuery fournit plusieurs fonctions Ajax pour
jQuery fournit plusieurs fonctions Ajax pour
différents besoins dont load(...) et ajax(...)
différents besoins dont load(...) et ajax(...)
La fonction load(...) La fonction load(...) jQuery('#nombre').load('/ServeurAjaxSimple/reponse'); jQuery('#nombre').load('/ServeurAjaxSimple/reponse'); Ou la fonction ajax(...) Ou la fonction ajax(...)jQuery.ajax( { type: "POST",
jQuery.ajax( { type: "POST",
url: "/ServeurAjaxSimple/reponse",url: "/ServeurAjaxSimple/reponse",
data: "param1=valeur1¶m2=valeur2",data: "param1=valeur1¶m2=valeur2",
jQuery - Avantages
jQuery - Avantages
jQuery
GEEK
jQuery - Avantages
jQuery - Avantages
• Assure la compatibilité entre les différents fureteursAssure la compatibilité entre les différents fureteurs • Syntaxe efficace, peu verbeuse, instruction puissante*Syntaxe efficace, peu verbeuse, instruction puissante* • Bibliothèque compacte (version de base 15 Ko)Bibliothèque compacte (version de base 15 Ko)
• Emploi intelligent de sélecteurs basés sur CSS 3 pour Emploi intelligent de sélecteurs basés sur CSS 3 pour
sélectionner des objets DOM dans une page web
sélectionner des objets DOM dans une page web
• Opération sur l’ensemble des objets d’un tableau d’objets Opération sur l’ensemble des objets d’un tableau d’objets
sans utiliser de boucle explicite
sans utiliser de boucle explicite
• Chaînage des opérationsChaînage des opérations
• Structure modulaire et extensible par plugiciels (Plugins)Structure modulaire et extensible par plugiciels (Plugins) jQuery
jQuery - inconvénients
jQuery - inconvénients
• Les experts jQuery et JS sont rares...Les experts jQuery et JS sont rares... • JS trop permissif et difficile à déboguerJS trop permissif et difficile à déboguer
• JS n’a pas été conçu pour de gros logicielsJS n’a pas été conçu pour de gros logiciels • Pas de bon support par les IDEsPas de bon support par les IDEs
Ressources - Livres
Ressources - Livres
Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript
Techniques
par Karl Swedberg, Jonathan Chaffer 380 pages
Packt Publishing
jQuery in Action
par Bear Bibeault, Yehuda Katz 376 pages
Manning Publications (7 février, 2008)