Programmation JavaScript/jQuery
jQuery est un framework JavaScript libre lancé en janvier 2006 par John Resig.

Installation
modifierTypiquement, il faut l'inclure depuis son site ou en le téléchargeant :
<script src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
Pour vérifier la version installée ensuite, taper dans la console du navigateur (F12) :
console.log(jQuery().jquery);
Utilisation
modifierRecherches
modifier$
modifierAfin de raccourcir la syntaxe au maximum, en jQuery le dollar ($) est un alias de la fonction jQuery()
servant Ă rechercher dans le DOM un nĆud correspondant au sĂ©lecteur en paramĂštre.
Par exemple, entrer le sélecteur $('.data')
dans la console du navigateur affiche un objet avec les éléments de la page au format jQuery.
Autre exemple pour rechercher par attribut de données : $('*[data-my-attribute-id="' + attribute_id + '"]')
.
Pour Ă©viter des recherches absolues dans toute la page, on peut aussi lancer des recherches relatives Ă un nĆud. Ceci est appelĂ© le "traversing"[1], et jQuery propose les mĂ©thodes ci-dessous pour ce faire :
.find()
modifierCherche tous les enfants de l'objet courant correspondant au paramĂštre.
.parents()
modifierCherche tous les parents de l'objet courant correspondant au paramĂštre.
.first()
modifierCherche le premier enfant de l'objet courant correspondant au paramĂštre.
.closest()
modifierCherche dans le premier parent de l'objet courant correspondant au paramĂštre.
.each()
modifierPour boucler sur tous les éléments possédant une classe :
$('.ma_classe').each(function(index, result) {
if (result.value === null) {
return true; // continue
}
if (result.value === "stop") {
console.log(index);
return false; // break
}
});
ĂvĂšnements
modifierIl existe deux syntaxes pour écouter les évÚnements : l'une avec la méthode "on" et l'autre avec le nom de l'évÚnement directement. Exemple avec "change" :
$(document).on('change', '#mon_id', function () { ...
$('#mon_id').change(function() { ...
Les principaux évÚnements utilisés sont[2] :
.ready()
modifierQuand la page est finie de charger.
.change()
modifierQuand on change la valeur d'un champ.
.click()
modifierQuand on clique sur un élément.
.addClass() et .removeClass()
modifierPermettent de rajouter des classes à des éléments JQuery.
Depuis la v1.4, on peut y mettre des fonctions[3]. Par exemple pour retirer toutes les classes par préfixe (finissant par un nombre) :
monElement.removeClass(function (index, className) { regex = new RegExp(monPrefix + '[0-9]+', 'g'); return (className.match(regex) || []).join(' '); });
.ajax()
modifierLa méthode jQuery.ajax()
permet comme son nom l'indique de lancer des requĂȘtes AJAX, c'est-Ă -dire asynchrones[4] en XMLHttpRequest (XHR).
Pour appliquer un traitement dĂ©pendant du rĂ©sultat de ces requĂȘtes, il suffit de les faire suivre par les mĂ©thodes existantes qui correspondent Ă chaque type de rĂ©sultat.
Par exemple, le code suivant récupÚre un fichier et affiche son contenu, ou une erreur si le fichier est inaccessible :
$.ajax({
url: "http://www.example.com",
type: 'POST',
data: {
'id': 1,
},
dataType: 'json',
}).done(function(data) {
alert(data);
}).fail(function() {
alert('The file is missing!');
});
Le style avec callbacks "error: / success:" sous "url:" est moins bien géré au niveau "defer" que les méthodes ".done() et .fail()" (voire ".then() et .fail()"), introduites dans la v1.5[5].
Mots réservés
modifierNom | Fonction |
---|---|
$(), jQuery() | Fonction de sélection, et d'initialisation |
holdReady() | Retiens ou relùche un évÚnement jQuery |
noConflict() | Supprime un mot réservé |
sub() | Crée une copie modifiable d'un objet jQuery |
when() | Planifie des objets |
each() | Sélectionne chaque élément d'un objet |
parents() | Sélectionne tous les éléments parents |
parent() | Sélectionne le parent direct |
children() | Sélectionne tous les enfants |
closest() | Sélectionne l'élément le plus proche avec une certaine caractéristique (évite des parent().parent().parent() ).
|
hasClass() | Renvoie si l'élément à une classe |
addClass() | Ajoute une classe |
removeClass() | Retire une classe |
toggleClass() | Ăchange deux classes |
Sélecteurs | |
:animated | Sélectionne les éléments animés |
:hidden | Sélectionne les éléments cachés |
:visible | Sélectionne les éléments visibles |
:first | Sélectionne le premier élément |
:last | Sélectionne le dernier élément |
:even | Sélectionne les éléments pairs |
:odd | Sélectionne les éléments impairs |
:eq(index) | Sélectionne le nÚme élément |
:gt(index) | Sélectionne les éléments supérieurs au nÚme |
:lt(index) | Sélectionne les éléments inférieurs au nÚme |
:input | Sélectionne les champs modifiables |
:text | Sélectionne les champs texte |
:radio | Sélectionne les boutons radio |
:checkbox | Sélectionne les cases à cocher |
:checked | Sélectionne les boutons radio et cases à cocher cochés |
:first-child | Sélectionne le premier élément enfant |
:last-child | Sélectionne le dernier élément enfant |
parent > child | Sélectionne le premier enfant d'un parent |
Méthodes[7] | |
.attr() | Affiche ou remplace la valeur d'un attribut |
.val() | Affiche ou remplace la valeur d'un champ |
.html() | Affiche ou remplace l'objet par de l'HTML |
.text() | Affiche ou remplace l'objet par du texte |
.prepend() | Ajoute le paramĂštre avant l'objet, dans la balise |
.append() | Ajoute le paramĂštre aprĂšs l'objet, dans la balise |
.prependTo() | Ajoute l'objet avant le paramĂštre, dans la balise |
.appendTo() | Ajoute l'objet aprĂšs le paramĂštre, dans la balise |
.before() | Ajoute le paramĂštre avant l'objet |
.after() | Ajoute le paramĂštre aprĂšs l'objet |
.insertBefore() | Ajoute l'objet avant le paramĂštre |
.insertAfter() | Ajoute l'objet aprĂšs le paramĂštre |
.wrap() | Ajoute les balises en paramĂštre autour de l'objet |
.wrapInner() | Ajoute les balises en paramÚtre autour de l'objet à l'intérieur |
.wrapAll() | Ajoute les balises en paramĂštre autour des objets |
.clone() | Duplique un objet |
.empty() | Vide un objet |
.remove() | Retire un objet |
.removeAttr() | Retire un attribut |
.replaceWith() | Remplace l'objet par le paramĂštre |
.replaceAll() | Remplace le paramĂštre par l'objet |
Références
modifier- â https://api.jquery.com/category/traversing/
- â https://api.jquery.com/category/events/
- â https://stackoverflow.com/questions/2644299/jquery-removeclass-wildcard
- â http://api.jquery.com/jquery.ajax/
- â https://stackoverflow.com/questions/10931836/should-i-use-done-and-fail-for-new-jquery-ajax-code-instead-of-success-and
- â http://api.jquery.com/category/core/
- â http://tutorials.jenkov.com/jquery/dom.html