Coursj Query 1
Coursj Query 1
Achref El Mouelhi
elmouelhi.achref@gmail.com
jQuery
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
jQuery
H I ©
EL
une bibliothèque JavaScript lancée par John Resig en 2006
U
O
f E LM
conçue pour simplifier l’écriture de codes JavaScript et AJAX
r e
librairie front-end la plus utilisée au monde
ch
©A
basée sur le concept de sélecteur CSS 3
jQuery
Deux solutions possibles
H I ©
Faire référence à une version en ligne (CDN) du fichier jQuery dans la balise
<script src = ...> </script>
UEL
O
f E LM
ch r e
©A
jQuery
Deux solutions possibles
H I ©
Faire référence à une version en ligne (CDN) du fichier jQuery dans la balise
<script src = ...> </script>
U EL
O
f E LM
CDN : Content Deliveryc h ?r e
© A Network
un réseau de serveurs installés dans plusieurs villes et/ou pays sur lesquels sont
mis à disposition des fichiers tels que jQuery/Bootstrap...
jQuery
H
compressed version (version de production) : le code est I ©
UEL
compressé, le fichier est beaucoup moins volumineux (diminue la
O
f E LM
consommation de bande passante du site) mais illisible
r e
uncompressed version (version de développement) : code
ch
©A
source lisible, pratique en cas de debug pour savoir sur quelle
fonction le script a planté
jQuery
Première solution
H I
Aller sur https://jquery.com/download/ et télécharger©
une version stable compressée de jQuery
U EL
M O
f E L le répertoire dans le répertoire de
Placer le fichier téléchargé dans
votre projet
c h re
© A à ce fichier dans la balise <script src = ...>
Faire référence
</script>
jQuery
Première solution
<!DOCTYPE html>
<html>
<head>
<title> jQuery test </title>
H I ©
EL
<link rel="stylesheet" href="style.css">
</head>
O U
LM
<body>
...
r e f E
ch
<script src="chemin/vers/mon/fichier/jquery-3.1.0.min
©A
.js"></script>
<script src = script.js>
// script.js fichier contenant les scripts qui
utiliseront la librairie jQuery
</script>
</body>
</html>
jQuery
jQuery : https://code.jquery.com/jquery-3.4.1.js
H I ©
Google : http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js
EL
Microsoft : http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.js
U
O
f E LM
ch r e
©A
jQuery
jQuery : https://code.jquery.com/jquery-3.4.1.js
Google : http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js
H I ©
EL
Microsoft : http://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.js
U
O
f E LM
ch r e
©A
Remarque
Une version compressée de jQuery existe chez tous les hébergeurs (il suffit d’ajouter
.min avant .js)
jQuery
Comment l’utiliser ?
Copier un des liens précédents
H I ©
UEL
O
Coller le comme valeur de l’attribut src de la balise
<script src = ...> </script>
f E LM
ch r e
Placer les balises <script> avant la fermeture de la balise
©A
</body> de votre fichier HTML en commençant par celle qui
importe la libraire jQuery
jQuery
Deuxième solution
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> jQuery test </title>
H I ©
<link rel="stylesheet" href="style.css">
UEL
</head>
O
<body>
f E LM
...
ch r e
<script src="https://code.jquery.com/jquery-3.4.1.js">
</script>
©A
<script src=script.js>
// script.js fichier contenant les scripts qui
utiliseront la librairie jQuery
</script>
</body>
</html>
jQuery
Le body du index.html Le fichier script.js
<button id=but> $("#but").click(
cliquer function(){
</button> console.log("Hello World! ");
}
H I ©
EL
);
O U
f E LM
ch r e
©A
jQuery
Le body du index.html Le fichier script.js
<button id=but> $("#but").click(
cliquer function(){
</button> console.log("Hello World! ");
}
H I ©
EL
);
O U
Explication
f E LM
ch r e
$() : la fonction magique qui prend en paramètre un sélecteur
©A
$ : opérateur utilisé par certains langages et frameworks (PHP, Angular
JS, EL...). En effet, $ est l’abrégé de la fonction principale jQuery() (à
utiliser en cas de conflit)
jQuery
Le body du index.html Le fichier script.js
<button id=but> $("#but").click(
cliquer function(){
</button> console.log("Hello World! ");
}
H I ©
EL
);
O U
Explication
f E LM
ch r e
$() : la fonction magique qui prend en paramètre un sélecteur
©A
$ : opérateur utilisé par certains langages et frameworks (PHP, Angular
JS, EL...). En effet, $ est l’abrégé de la fonction principale jQuery() (à
utiliser en cas de conflit)
jQuery
Remarque
jQuery
Remarque
jQuery
jQuery
jQuery
Plaçons ce code dans le body d’index.html Le fichier style.css
<div id=container> .red {
Considérons les paragraphes suivants : color: red;
<p class=blue> bonjour </p> }
<p class=red> bonsoir, voici <a href="http
://www.lsis.org/elmouelhia/"> ma page </a
H I ©{
.blue
></p>
UEL color: blue;
<p class="blue"> salut </p>
O }
</div>
f E LM
ch r e .green {
color: green;
©A }
jQuery
Pour tester
$(function() { H I ©
$("#but","body").click(function(){
UEL
O
console.log($("#container").html());
console.log($("#container").text());
f E LM
});
ch r e
});
©A
jQuery
Pour modifier le contenu d’une balise
$(function() {
$("#but","body").click(function(){
$("#container").text("<p> hello </p>");
});
H I ©
});
UEL
O
f E LM
Ou bien
ch r e
$(function() {
©A
$("#but","body").click(function(){
$("#container").html("<p> hello </p>");
});
});
Vérifier la différence
H & H: Research and Training 18 / 76
Les méthodes .html() et .text()
jQuery
Exercice
H I ©
UEL
O
Écrire un script jQuery qui permet d’ajouter du contenu textuel au
f E LM
début et à la fin de la balise <div class=container> sans
r e
écraser le contenu précédent.
ch
©A
jQuery
La méthode .attr()
.attr(nomAttribut) : permet de récupérer la valeur de
l’attribut passé en paramètre
H I ©
.attr(nomAttribut, nouvelleValeur) U EL: permet de
modifier la valeur de l’attribut duM O paramètre par la valeur
premier
du deuxième paramètref (si L
El’attribut n’existe pas, il sera créé)
ch r e
© A
Et comment supprimer un paramètre ?
removeAttr(nomAttribut)
jQuery
r e f E
ch
©A
jQuery
r e f E
ch
©A
Que la valeur de la classe du premier paragraphe est affichée
jQuery
Pour faire la même chose pour tous les paragraphes, on peut
utiliser la méthode each()
$(function() {
$("p").each(function () {
console.log($(this).attr("class"));
H I ©
});
UEL
O
LM
});
r e f E
ch
©A
jQuery
Pour faire la même chose pour tous les paragraphes, on peut
utiliser la méthode each()
$(function() {
$("p").each(function () {
console.log($(this).attr("class"));
H I ©
});
UEL
O
LM
});
r e f E
ch
On peut faire aussi
©A
$(function() {
$("p").each(function (ind, elt) {
console.log($(elt).attr("class"));
});
});
H & H: Research and Training 22 / 76
Les méthodes .attr(), .val() et .prop()
jQuery
On peut aussi utiliser .length pour déterminer le nombre
d’éléments sélectionnés
$(function() {
console.log($("p").length);
});
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
On peut aussi utiliser .length pour déterminer le nombre
d’éléments sélectionnés
$(function() {
console.log($("p").length);
});
H I ©
UEL
O
Ou .eq(i) pour choisir l’élément de la sélection ayant l’indice i
$(function() {
f E LM
console.log($("p").eq(i));
ch r e
});
©A
jQuery
On peut aussi utiliser .length pour déterminer le nombre
d’éléments sélectionnés
$(function() {
console.log($("p").length);
});
H I ©
UEL
O
Ou .eq(i) pour choisir l’élément de la sélection ayant l’indice i
$(function() {
f E LM
console.log($("p").eq(i));
ch r e
});
©A
Ou bien :eq(i)
$(function() {
console.log($("p:eq(i)");
});
H & H: Research and Training 23 / 76
Les méthodes .attr(), .val() et .prop()
jQuery
Ou aussi
$(function() {
console.log($("p")[i]);
});
H I ©
UEL
O
LM
De même
r e f E
p:lt(i) : les paragraphes dont l’indice est inférieur à i
ch
©A
p:gt(i) : les paragraphes dont l’indice est supérieur à i
p:even et p:odd : les paragraphes d’indice pair et impair
p:first et p:last : le premier et le dernier paragraphes
input:text : les input de type text
jQuery
jQuery
jQuery
jQuery
jQuery
jQuery
La méthode .val()
H I ©
EL
OU
.val() : permet de récupérer la valeur de l’attribut value
M
E:Lpermet de remplacer la valeur de
.val(nouvelleValeur)
e f
chrla valeur de nouvelleValeur
l’attribut value par
A
©
jQuery
Un exemple avec .val()
$(function() {
$("#but").click(function(){
console.log($("#nom").val());
});
H I ©
});
UEL
O
f E LM
ch r e
©A
jQuery
Un exemple avec .val()
$(function() {
$("#but").click(function(){
console.log($("#nom").val());
});
H I ©
});
UEL
O
f E LM
ch r e
Un exemple avec .val(nouvelleValeur)
© A
$(function() {
$("#but").click(function(){
$("#nom").val("John Wick");
});
});
jQuery
La méthode .prop()
c h re
modifier la valeur d’une propri
©A
Pour supprimer une propriété
removeProp(nomPropriété)
jQuery
Un exemple avec .prop()
$(function() {
$("#but").click(function(){
$("#nom").prop("readonly","true");
console.log($(this).prop("disabled"));
// affiche false
H I ©
EL
});
});
O U
f E LM
ch r e
©A
jQuery
Un exemple avec .prop()
$(function() {
$("#but").click(function(){
$("#nom").prop("readonly","true");
console.log($(this).prop("disabled"));
// affiche false
H I ©
EL
});
OU
});
M
L et .prop
e f E
Pour comprendre la différence entre .attr
$(function() {
A c hr
©
$("#but").click(function(){
$("#nom").prop("readonly",true);
console.log($(this).prop("disabled")); // false
console.log($(this).attr("disabled")); // undefined
console.log($("#nom").prop("readonly")); // true
console.log($("#nom").attr("readonly")); // readonly
});
});
H & H: Research and Training 31 / 76
Les méthodes .css() et .xClass()
jQuery
La méthode .css()
.css(nomPropriété) : permet de récupérer la valeur de la H I ©
propriété CSS passée en paramètre U EL
M O
E L
.css(nomPropriété, nouvelleValeur)
f
: permet de
modifier la valeur de
c h ela propriété CSS (premier paramètre) par la
rparam
©
sera créée)
A
valeur du deuxi ème ètre (si la propriété n’existe pas, elle
jQuery
Un exemple avec .css(nomPropriété)
$(function() {
console.log($("p").eq(0).css("color"));
});
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
Un exemple avec .css(nomPropriété)
$(function() {
console.log($("p").eq(0).css("color"));
});
H I ©
EL
Un exemple avec .css(nomPropriété, nouvelleValeur)
$(function() {
O U
LM
$("#but").click(function(){
$("p").eq(0).css("color","green");
});
r e f E
});
ch
©A
jQuery
Un exemple avec .css(nomPropriété)
$(function() {
console.log($("p").eq(0).css("color"));
});
H I ©
EL
Un exemple avec .css(nomPropriété, nouvelleValeur)
$(function() {
O U
LM
$("#but").click(function(){
$("p").eq(0).css("color","green");
});
r e f E
});
ch
©A
Pour un changement multiple de propriétés CSS
$(function() {
$("#but").click(function(){
$("p").eq(0).css({"color":"green", "background-color":"red"});
});
});
H & H: Research and Training 33 / 76
Les méthodes .css() et .xClass()
jQuery
jQuery
Exercice
H I ©
Le HTML
UELLe CSS
O
<div id=paragraphs>
LM .red {
<p class=red>rouge</p>
<p class=green>vert</p>
ch ref E }
color: red;
© A
<p class=blue>bleu</p> .green {
</div> color: green;
}
.blue {
color: blue;
}
jQuery
La méthode .filter(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .filter(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur
H I ©
Exemple UEL
O
$(function() {
f E LM
ch r e
$("#container > p").filter(":not(:eq(0))")
©A
.css("background-color", "
skyblue");
});
jQuery
La méthode .has(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur, ne prend que les enfants
associés à l’élément.
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .has(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur, ne prend que les enfants
associés à l’élément.
H I ©
EL
Exemple
$(function() {
O U
LM
$("#container > p").has("a")
});
r e E
.css("background-color", "skyblue");
f
ch
©A
jQuery
La méthode .has(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur, ne prend que les enfants
associés à l’élément.
H I ©
EL
Exemple
$(function() {
O U
LM
$("#container > p").has("a")
});
r e E
.css("background-color", "skyblue");
f
ch
©A
Filtre les paragraphes, définis dans container, ayant comme enfant un lien hypertexte.
jQuery
La méthode .has(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur, ne prend que les enfants
associés à l’élément.
H I ©
EL
Exemple
$(function() {
O U
LM
$("#container > p").has("a")
});
r e E
.css("background-color", "skyblue");
f
ch
©A
Filtre les paragraphes, définis dans container, ayant comme enfant un lien hypertexte.
jQuery
La méthode .not(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur,
retire tous les éléments qui respecte le sélecteur
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .not(’sélecteur’)
Retourne un ensemble d’élément filtré en fonction du sélecteur,
retire tous les éléments qui respecte le sélecteur
H I ©
UEL
O
LM
Exemple
$(function() {
r e f E
ch
©A
$("#container > p").not(":even")
.css("background-color", "
skyblue");
});
Filtre les paragraphes d’indice pair parmi ceux qui sont dans
container.
H & H: Research and Training 38 / 76
Les méthodes de filtrage et de recherche
jQuery
H I ©
Exercice
UEL
O
LM
Écrire un code qui permet de mettre le bleu comme couleur de fond
f E
pour tous les paragraphes qui ne contiennent pas de lien hypertexte
r e
ch
©A
jQuery
Première solution
$(function() {
$("#container > p").filter(":not(:has(a))")
.css("background-color", "
skyblue");
H I ©
});
UEL
O
f E LM
ch r e
©A
jQuery
Première solution
$(function() {
$("#container > p").filter(":not(:has(a))")
.css("background-color", "
skyblue");
H I ©
});
UEL
O
f E LM
Deuxième solution
ch r e
$(function() { ©A
$("#container > p").not(":has(a)")
.css("background-color", "
skyblue");
});
jQuery
La méthode .find(’sélecteur’)
jQuery
La méthode .find(’sélecteur’)
Les paragraphes d’indice pair auront une couleur de fond bleue et ceux d’indice impair
auront une couleur de fond rose.
H & H: Research and Training 41 / 76
Les méthodes de filtrage et de recherche
jQuery
.find() vs .filter H I ©
UEL
O
.find() cherche dans les enfants de l’élément sélectionné
f E LM
ch r e
.filter() cherche dans les éléments sélectionnés
©A
jQuery
La méthode .children()
permet de sélectionner les enfants directs de la sélection
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .children()
permet de sélectionner les enfants directs de la sélection
H I ©
UEL
O
Exemple
f E LM
$(function() {
ch r e
©A
$("#container").children().css("background-color",
"skyblue");
});
jQuery
jQuery
Exercice, considérons le code HTML suivant
<h1>Titre</h1>
<div class="about">
<strong>Adipiscing elit.</strong>
<div>
H I ©
Lorem ipsum dolor sit amet,
UEL
O
LM
<strong>consectetur</strong>
</div>
r e f E
</div>
ch
<p>
Nulla pellentesque©A
<em>molestie</em> tempus.
<strong>Curabitur</strong>
turpis est.
</p>
jQuery
jQuery
La méthode .parent()
permet de remonter au premier parent de la sélection
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .parent()
permet de remonter au premier parent de la sélection
H I ©
UEL
O
LM
Exemple
$(function() {
r e f E
ch
©A
$("a").parent().css("background-color","skyblue");
});
jQuery
La méthode .parents()
permet de remonter dans les parents jusqu’à trouver le père
recherché
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .parents()
permet de remonter dans les parents jusqu’à trouver le père
recherché
H I ©
UEL
O
Exemple
f E LM
$(function() { ch r e
©A
$("a").parents("div").css("background-color", "
skyblue");
});
jQuery
Autre méthodes
H I ©
.next() : le frère suivant immédiat
UEL
O
LM
.nextAll() : tous les éléments suivants
r e f E
.prev() : le frère précédent immédiat
ch
©A
.prevAll() : tous les éléments précédents
jQuery
La méthode .siblings()
permet de récupérer tous les frères (précédents et suivants) de
l’élément
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .siblings()
permet de récupérer tous les frères (précédents et suivants) de
l’élément
H I ©
UEL
O
Exemple
f E LM
$(function() {
ch r e
©A
$("p.red").siblings().css("background-color", "
skyblue");
});
jQuery
H I ©
EL
$(function() {
$("#container").siblings("input").css("background-
O U
});
color", "skyblue");
f E LM
ch r e
©A
Les frères (précédents et suivants) du container de type input
auront une couleur de fond bleue.
jQuery
Exercice, considérons le code HTML suivant
<div id="menu">
<ul>
<li><a href="#">Lien 1</a></li>
<li><a href="#">Lien 2</a></li>
H I ©
</ul>
</div>
UEL
O
LM
<div class="contact">
<strong>Adipiscing elit.</strong>
<div>
r e f E
ch
©A
Lorem ipsum dolor sit amet, <strong>consectetur</strong>
</div>
<form method="POST">
<input type="text" name="email" />
<input type="submit" value="s’inscrire" />
</form>
</div>
jQuery
jQuery
H I ©
La méthode .wrap(baliseHTML)
UEL
O
LM
permet d’entourer les éléments sélectionnés par les balises passées
en paramètre
r e f E
ch
©A
jQuery
Le body de la page index.html Le CSS associé
<p>Bonjour</p> div {
<p>Bonsoir</p> color: red;
<button id=but> }
cliquer
</button>
H I ©
U EL
O
f E LM
ch r e
©A
jQuery
Le body de la page index.html Le CSS associé
<p>Bonjour</p> div {
<p>Bonsoir</p> color: red;
<button id=but> }
cliquer
</button>
H I ©
EL
M OU
E L sur le bouton
Le code qui sera exécuté en cliquant
f
$("#but").click( hr
c e
function(){ A
©
$("p").wrap("<div></div>");
}
);
jQuery
Le body de la page index.html Le CSS associé
<p>Bonjour</p> div {
<p>Bonsoir</p> color: red;
<button id=but> }
cliquer
</button>
H I ©
EL
M OU
E L sur le bouton
Le code qui sera exécuté en cliquant
f
$("#but").click( hr
c e
function(){ A
©
$("p").wrap("<div></div>");
}
);
jQuery
La méthode .data(key,value)
permet d’attacher des données aux balises sélectionnées
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
La méthode .data(key,value)
permet d’attacher des données aux balises sélectionnées
H I ©
UEL
O
f E LM
La méthode .removeData(key)
ch r e
©A
permet de supprimer des données dont la clé est passée en
paramètre associées aux balises sélectionnées
jQuery
Le body de la page index.html
<div>
Bonjour
<span></span>
<span></span>
</div>
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
Le body de la page index.html
<div>
Bonjour
<span></span>
<span></span>
</div>
H I ©
UEL
Pour associer des données à une balise div
O
$(document).ready(function() {
f E LM
r e
$("div").data("obj", {nom: "wick", prenom: "john"});
});
ch
©A
jQuery
Le body de la page index.html
<div>
Bonjour
<span></span>
<span></span>
</div>
H I ©
UEL
Pour associer des données à une balise div
O
$(document).ready(function() {
f E LM
r e
$("div").data("obj", {nom: "wick", prenom: "john"});
});
ch
©A
Pour récupérer et afficher les données associées à la balise div
$(document).ready(function() {
$("div").data("obj", {nom: "wick", prenom: "john"});
$("span:first").text( $("div").data("obj").prenom);
$("span:last").text( $("div").data("obj").nom);
});
H & H: Research and Training 57 / 76
Ajouter et supprimer un nœud
jQuery
r e f E
: permet d’insérer le contenu en
.prepend(contenu)
A
paramètre au dc
h
ébut des éléments sélectionnés
©
$("contenu").prependTo(sélecteur) : permet d’insérer le
contenu en paramètre au début des éléments ciblés via le
sélecteur
jQuery
Exemple
$(function() {
$("#container > p.red").append("<p> hello </p>");
});
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
Exemple
$(function() {
$("#container > p.red").append("<p> hello </p>");
});
H I ©
EL
M OU
f
Autre utilisation de .append( E L$(selecteur) ) : copier le
deuxième élément sh
c e
r é à la fin du premier élément
électionn
sélectionné© A
$(function() {
$("#container").append($("input:text"));
});
jQuery
jQuery
Exemple
$(function() {
$("#container").after("<p> hello </p>");
H I ©
EL
});
O U
f E LM
ch r e
©A
jQuery
Exemple
$(function() {
$("#container").after("<p> hello </p>");
H I ©
EL
});
O U
f E LM
r e
Pour .insertAfter() : il faut juste inverser le contenu et le
ch
sélecteur
© A
$(function() {
$("<p> hello </p>").insertAfter("#container");
});
jQuery
jQuery
Pour comprendre la différence entre .remove() et .detach()
$(function() {
$("p.red").click(function(){
$(this).css("color","yellow");
});
$("#but").click(function(){
var parRouge =$("p.red").detach();
H I ©
$("#container").html(parRouge);
U EL
});
O
});
f E LM
ch r e
Explication
©A
cliquer sur le bouton, ensuite cliquer sur le texte en rouge (il ne sera jamais affiché en
jaune)
remplacer remove par detach et refaire la même chose (le texte est affiché en jaune)
Avec detach, on ne perd pas les données de nos éléments HTML (les événements...)
jQuery
Syntaxe
H I ©
$(function() {
UEL
$("selector").event(function(){
O
// code de la fonction
f E LM
});
ch r e
©A
});
jQuery
Et si on veut attacher plusieurs évènements à un sélecteur
$(function() {
$("selector").on("event1 event2", function(){
// code de la fonction
});
H I ©
});
UEL
O
f E LM
ch r e
©A
jQuery
Et si on veut attacher plusieurs évènements à un sélecteur
$(function() {
$("selector").on("event1 event2", function(){
// code de la fonction
});
H I ©
});
EL
M OU
Et si les fonctions liées aux diffE
f L évènements sont différentes
érents
$(function() { chr
e
© A
$("selector").on({
event1: function(){...},
event2: function(){...}
});
});
jQuery
Et si on veut attacher plusieurs évènements à un sélecteur
$(function() {
$("selector").on("event1 event2", function(){
// code de la fonction
});
H I ©
});
EL
M OU
Et si les fonctions liées aux diffE
f L évènements sont différentes
érents
$(function() { chr
e
© A
$("selector").on({
event1: function(){...},
event2: function(){...}
});
});
jQuery
Exemple
$(function() {
$("p.red").on({
mouseover: function(){
H I ©
EL
$("body").css("background-color", "pink");
},
O U
mouseout: function(){
f E LM
}, ch r e
$("body").css("background-color", "green");
©A
click: function(){
$("body").css("background-color", "yellow");
}
});
});
jQuery
Pour supprimer un évènement
$(function() {
$("selector").off("event");
});
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
Pour supprimer un évènement
$(function() {
$("selector").off("event");
});
H I ©
UEL
Exemple O
$(function() {
f E LM
ch r e
$("p.red").click(function(){
});
©A
$(this).css("color","yellow");
$("#but").click(function(){
$("p.red").off("click");
});
});
jQuery
});
ch r e
});
©A
jQuery
©A
$("p.red").trigger("click");
});
});
jQuery
Certaines méthodes comme .hover() acceptent deux
fonctions : une sera exécutée lorsque l’élément est survolé, la
deuxième quand il ne l’est plus
$(function() {
H I ©
EL
$("p.red").hover(function(){
$(this).css("color","pink");
O U
},
function(){
f E LM
ch r e
$(this).css("color","green");
});
});
©A
jQuery
Exercice
La deuxième image n’est pas initialement affichée (vous pouvez utiliser la propriété CSS
display: none)
H I ©
Pour atteindre le bas de la première image, il faut utiliser un scroll
U EL
Lorsque le scroll arrive au bas de la première image, la seconde apparaı̂t (la valeur de sa
O
LM
propriété CSS display reprend la valeur initiale inline)
e f E
vous pouvez utiliser les propriétés suivantes :
r
ch
©A
$(window).scrollTop() : retourne le nombre de pixels à remonter pour
atteindre le haut de la page
$(window).height() : retourne la hauteur de la partie de page affichée dans le
navigateur
jQuery
jQuery
Considérons le body de la page index.html
<body>
<div id=resultat></div>
<button id=but>cliquer</button>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="script.js"></script>
</body>
H I ©
UEL
O
f E LM
ch r e
©A
jQuery
Considérons le body de la page index.html
<body>
<div id=resultat></div>
<button id=but>cliquer</button>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="script.js"></script>
</body>
H I ©
UEL
O
f E LM
Exemple d’utilisation de .grep() : filtrer les chaı̂nes de longueur <= 5
$(document).ready(function() {
ch r e
©A
var tableau = [’Marseille’, ’Barcelone’, ’Madrid’, ’Turin’, ’Londres’
, ’Milan’, ’Manchester’, ’Lyon’];
$(’#but’).click(function() {
tableau2 = $.grep(tableau, function(elt,ind) {
return (elt.length > 5);
});
$(’#resultat’).text(tableau2.join(’, ’));
// Marseille, Barcelone, Madrid, Londres, Manchester
});
});
jQuery
Exemple d’utilisation de .map() : récupérer les 5 premiers
caractères de chaque élément du tableau
$(document).ready(function() {
var tableau = [’Marseille’, ’Barcelone’, ’Madrid’,
’Turin’, ’Londres’, ’Milan’, ’Manchester’, ’
H I ©
Lyon’];
UEL
O
LM
$(’#but’).click(function() {
f E
tableau2 = $.map(tableau, function(elt,ind) {
r e
ch
return (elt.substring(0,5));
});
©A
$(’#resultat’).text(tableau2.join(’, ’));
// Marse, Barce, Madri, Turin, Londr, Milan,
Manch, Lyon
});
});
jQuery
On ajoute une zone de saisie dans le body de la page index.html
<body>
<input type=text id=ville placeholder="ville à chercher">
<div id=resultat></div>
<button id=but>cliquer</button>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="script.js"></script>
H I ©
EL
</body>
O U
f E LM
ch r e
©A
jQuery
On ajoute une zone de saisie dans le body de la page index.html
<body>
<input type=text id=ville placeholder="ville à chercher">
<div id=resultat></div>
<button id=but>cliquer</button>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="script.js"></script>
H I ©
EL
</body>
O U
Exemple d’utilisation de .inArray()
f E LM
ch r e
©A
$(document).ready(function() {
var tableau = [’Marseille’, ’Barcelone’, ’Madrid’, ’Turin’, ’Londres’
, ’Milan’, ’Manchester’, ’Lyon’];
$(’#but’).click(function() {
var ville = $("#ville").val();
position = $.inArray(ville, tableau);
position != -1 ? $(’#resultat’).text("oui") : $(’#resultat’).text("
non");
});
});
jQuery