Le principe
jQuery est une librairie(ou bibliothèque) Javascript libre qui fait interagir javascript et HTML.
L'intérêt est de simplifier les commandes les plus utilisées.
Elle fournit ainsi des effets classiques « clef en main » et assure la compatibilité inter-navigateurs.
Sortie en 2006, elle est depuis utilisée sur de nombreux sites comme Google, Mozilla, Amazon, etc.
jQuery permet notamment de
» parcourir et de modifier le DOM*,
» d'attribuer des actions à des évènements,
» d'implémenter des effets visuels / animations,
» de manipuler le CSS, d'implémenter Ajax facilement, etc.
Comme le slogan l'indique, JQUERY permet finalement de faire plus en codant moins.
* Document Object Model : ou modèle objet de document, est une API pour les documents HTML et XML.
Il fournit une représentation structurée du document sous forme d'un arbre et définit la façon dont la structure peut être manipulée, en termes de style et de contenu.
Le DOM représente le document comme un ensemble de nœuds et d'objets possédant des propriétés et des méthodes.
Cela permet de manipuler des pages web grâce à des scripts et/ou des langages de programmation(jquery).
On distingue l'objet jQuery et la fonction jQuery, nous nous interesserons à la fonction uniquement, elle nous servira à manipuler le DOM, c'est à dire l'arborescence HTML du document.
On pourra par exemple, changer le style de certains éléments, leurs dimensions, gérer des évenements, produire des effets de translation...
La fonction incontournable de cette bibliothèque est la fonction $.
Il faut préciser dans $() un sélecteur avec une syntaxe adaptée qui reprend celle des CSS.
$() permet de sélectionner efficacement un élément ou un ensemble d'éléments du DOM.
L'opérateur $() renvoie un objet jQuery auquel on peut ensuite envoyer des méthodes JQuery.
Vous trouverez une liste détaillée de toutes les propriétés et méthodes définies par cette bibliothèque sur le site officiel de jQuery
Nous allons voir les bases permettant de saisir le principe de fonctionnement de la bibliothèque jQuery à travers des exemples précis.
Utilisation : Chargement de la bibliothèque
La première étape est de télécharger jQuery sur le site officiel, pour être certain d'avoir la dernière version.
Vous y trouverez sur la droite un bloc où sont disponibles deux compressions possibles :
Production : le code est compressé au maximum et optimisé pour l'utilisation en production (Lien direct de téléchargement : http://code.jquery.com/jquery.min.js)
Développement : le code n'est pas compressé et est prévu pour être lu et/ou pour développer avec pour contribuer au projet notamment (Lien direct de téléchargement : http://code.jquery.com/jquery.js)
Choisissez la version « Production », car nous n'allons pas toucher au fichier, simplement l'utiliser.
Copiez le fichier vers votre projet. Je vous suggère l'adresse "/js/libs/jquery.min.js" pour une organisation optimale de vos scripts.
En effet, si vous utilisez plusieurs bibliothèques (library en anglais, d'où « libs ») vous pourrez les séparer de vos propres scripts en les rangeant dans un dossier distinct.
Il suffit ensuite de l'incorporer à l'aide d'un élément script dans votre document HTML :
Pour des questions de performance, Google Code et Yahoo Developer Network recommandent de placer les appels aux librairies en fin de page avant </body>
Le script doit être présent sur le serveur afin de limiter les risques, mais il est possible de faire appel à l'API de Google en allant chercher le fichier sur les serveurs de Google à l'adresse //ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js, afin :
- d'alléger la bande passante de votre site; en faisant référence à un fichier externe à votre site
- d'accélérer le chargement des pages; le fichier jquery.min.js issu du serveur google est bien souvent déjà présent dans la mémoire cache du navigateur.
les serveurs de Google soient indisponibles ou qu'ils changent leur API : il faut prévoir une solution de secours. Nous alors donc nous resservir de notre fichier en local avec une petite touche de JavaScript. Nous obtenons alors quelque chose comme cela :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Titre</title> </head> <body> <p> Un paragraphe ici </p> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script>window.jQuery || document.write('<script src="/js/libs/jquery.min.js"><\/script>')</script> </body>
La ligne de JavaScript signifie que s'il n'y a pas jQuery, c'est que l'import juste au dessus n'a pas fonctionné. Nous ajoutons donc à la page, via JavaScript, un import de jQuery depuis notre fichier local. Ainsi, nous profitons de la bande passante de Google et du cache du navigateur tout en étant certains de la disponibilité de jQuery.
Par contre, en phase de développement, c'est-à-dire lorsque vous mettez au point votre code jQuery sur votre ordinateur local, il est conseillé de télécharger le fichier jquery.js et d'y faire référence localement, l'utilisation de ce fichier local sera bien plus rapide et vous pourrez travailler sans connexion web.