Vous êtes sur la page 1sur 9

[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

Chapitre3 : Initiation à jQuery

Introduction

JavaScript est un langage de programmation inventé par Brendan Eich en 1995, et jQuery est
une bibliothèque JavaScript open-source inventée par John Resig en 2006.Ce langage vient
compléter le HTML et le CSS, qui déterminent le contenu et l'apparence des pages web, en y
ajoutant une couche d'interactivité.

I. Initiation à jQuery
1) Définition
jQuery (la bibliothèque JavaScript open-source) permet d'exploiter la puissance de JavaScript
pour accomplir une myriade de choses géniales sur une page web.

2) Avantages de jQuery

Cette bibliothèque permet de :

• Ajouter, supprimer ou modifier des éléments HTML au sein d’une page.


• Changer les styles des éléments de la page en modifiant le CSS qui leur est associé.
• Animer des éléments des pages.

N.NAKKAI Page 1
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

• Envoyer et recevoir des données depuis un serveur grâce à AJAX (asynchronous


JavaScript and XML, c'est-à-dire JavaScript et XML asynchrones) pour ne plus avoir
besoin de recharger vos pages après validation d'un formulaire.
• Multiplateforme : évite les problèmes de compatibilité entre navigateurs
• Gratuite et open source
• Facilite la sélection d’éléments d’une page web •
• Facilite l’AJAX •
• S’écrit en dehors du code HTML

3) Principe de jQuery
1. Sélectionner une partie du document.
2. Agir dessus Objet jQuery = ensemble de noeuds du DOM (Document Object Model)
→ ensemble de balises du document
→ les objets jQuery se créent avec la fonction jQuery() abrégée en $() :
- prend en entrée une chaîne de caractères contenant un «sélecteur»
- renvoie en sortie un objet jQuery
4) Inclusion jQuery dans un fichier HTML
En tant que script externe :

<script type="text/javascript" src="jQuery.js"></script>

Depuis le site de jQuery :

src="http://code.jquery.com/jquery-1.8.2.min.js"

 Insérer le lien vers la bibliothèque jQuery

<SCRIPT TYPE="text/javascript"
SRC="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>

 Attendre le chargement de la page :

<SCRIPT TYPE="text/javascript">
$(document).ready(function(){

N.NAKKAI Page 2
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

})
</SCRIPT>

II. Sélection d’éléments


jQuery a une syntaxe qui permet de sélectionner très facilement des éléments sur la page. Le
framework fonctionne avec les sélecteurs de CSS :
➢ par type de bloc
➢ par identifiant
➢ par classe
➢ en combinant les critères
➢ en filtrant sur les noms d’attributs
➢ en faisant référence aux positions relatives dans le DOM
➢ en ne récupérant qu’un seul élément parmi les objets sélectionnés
➢ en filtrant parmi les objets sélectionnés

Exemple :
$("*") ; //Pour renvoyer toutes les balises
$("div") ; //Pour renvoyer tous les div de la page
$('p'); // Sélectionner tous les paragraphes
$('.maClasse'); // Sélectionne les éléments ayant .maClasse pour classe
$('#monId'); // Sélectionne l'élément qui possède l'identifiant #monId

1) Sélection restreinte

 Possibilité de sélectionner (comme en CSS) :


➢ Par type de bloc.
➢ Par identifiant (attribut id d'une balise).
➢ Par classe (attribut class d'une balise)
Exemple1:
// <div>Test</div>
$("div")
// <span id="test">JL</span>
$("#test")
// <ul class="test">JL</ul>
$(".test")

N.NAKKAI Page 3
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

Possibilité de combiner les sélecteurs.


Exemple2:
// tous les divs de classe main
$("div.main")
// le tableau d'identifiant data
$("table#data")
// objets d'identifiant "content" ou de classe "menu"
// attention à la position des guillemets
$("#content, .menu")

Exemple3:
<html>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
</script>
<body>
<div id="monDiv">Bonjour</div>
<a href="#" onClick="$('#monDiv').hide();">
disparition</a>
</body>
</html>

Exercice d’application
1) Ecrire une fonction qui permet d’ajouter une classe c1 à tous les div en javascript.
Solution

<script type="text/javascript">
function addClassC1() {
var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
var div = divs[i];
div.setAttribute("class", "c1");
}
}
</script>

N.NAKKAI Page 4
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

<body onLoad='addClassC1();'>

2) Modifier le code en utilisant jQuery.


Note:
➢ $("div") permet de sélectionner tous les div.
➢ La méthode .addClass() permet d'ajouter une classe à un objet.

Solution

/* Solution avec fonction */


function addClassC1() { $("div").addClass("c1"); }
<body onLoad='addClassC1();'>
/* Solution directe */
<body onLoad='$("div").addClass("c1");'>

2) Sélection dans un contexte


$(recherche, contexte)
Sélectionne d'abord le contexte (une partie du DOM) puis effectue la recherche à l'intérieur.
Exemple:
// comme en CSS :
$("div .header").hide();
// ou chercher tous les div
// chercher des balises de class header à l'intérieur
$(".header", $("div")).hide(); // cacher ces balises

3)Sélecteurs d'ordre

// premier paragraphe
p:first
// dernier élément de liste
li:last
// quatrième lien
a:eq(3)

N.NAKKAI Page 5
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

// paragraphes pairs ou impairs


p:even ou p:odd
// Tous les liens à partir (greater than) du quatrième ou avant
(lower than)
a:gt(3) ou a:lt(4)

4) Sélecteurs d'attributs

// les éléments <div /> ayant un identifiant


$("div[id]")
// les éléments <div /> avec id "test"
$("div[id='test']")
// les éléments <div /> dont l'id commence par test
$("div[id^='test']")
// les éléments <div /> dont l'id termine par test
$("div[id$='test']")
// les éléments <div /> dont l'id contient test
$("a[href*='test']")

5) Sélecteurs de formulaires

// sélectionner les checkbox


$("input:checkbox")
// sélectionner les boutons radio
$("input:radio")
// sélectionner les bouton
$(":button")
// sélectionner les champs texte
$(":text")
Sélecteurs de formulaires
$("input:checked")

N.NAKKAI Page 6
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

$("input:selected")
$("input:enabled")
$("input:disabled")
<select name="valeur">
<option value="1">1</option>
<option value="2" selected="selected">2</option>
<option value="3">3</option>
</select>
$("select option:selected").val()

6) Sélecteurs de hiérarchie
Possibilité de sélectionner de manière plus précise :
Frère, enfants, parents
Utilisation de fonctions
Exemple:
// frère suivant
.next(expr)
// frère précédent
.prev(expr)
// frères
.siblings(expr)
// enfants
.children(expr)
// père
.parent(expr)

7) Sélecteurs supplémentaires
Utilisation de is()
Exemple:
$("table td") .each(function() {

N.NAKKAI Page 7
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

if ($(this).is(":first-child")) {
$(this).addClass("firstCol");
}
});

III. Fonctions de selection


1) La fonction eq(n)
La fonction eq(n) retourne un objet jQuery enveloppant le nième element.
Exemples :
var paras = $("p"); paras.first(); // retourne le premier <p>

paras.last(); // retourne le dernier <p>

paras.eq(1) // retourne le deuxième <p>

paras.eq(-2) // le 2nd <p>

à partir de la fin paras[1] // le 2nd <p>

2) La fonction slice()
La fonction slice() retourne un sous-ensemble des éléments à partir d'un index donné et jusqu'à
un index de fin (ou la fin de l'ensemble)
Exemples :
$("p").slice(2,5); // 3ème, 4ème et 5ème <p>
$("div").slice(-3); // les 3 derniers <div>
3) La fonction not()
La fonction not()peut être interprétée comme une fonction qui exclut les éléments qui matchent le
paramétre
Exemple :
//tous les div sauf les deux précisés en paramètre
$("div").not("#header,#footer");
4) La fonction add()
La fonction add() ajoute des éléments à un objet jQuery
La fonction add() enlève les éléments dupliqués et ordonne

N.NAKKAI Page 8
[TAPEZ LE TITRE DU DOCUMENT] [Sélectionnez la date]

les éléments sélectionnés selon leur ordre dans le document


Exemples :
// écritures équivalents pour sélectionner tous les div et p
$("div,p") // Utilisation d'un groupe de sélecteurs
$("div").add("p") // Passer un sélecteur à add
$("div").add($("p")) // Passer un objet jQuery

IV. La fonction each


appelle une fonction pour chaque élément :
$(this) = élément courant
i - index de l'élément courant
Possibilité de récupérer l'élément sous forme DOM
Exemple:
$("table tr").each(function(i){
if (i % 2==0)
$(this).addClass("odd");
});

N.NAKKAI Page 9

Vous aimerez peut-être aussi