Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
devweb:jquery [06-06-2013 16:32] edmc73 créée |
devweb:jquery [01-12-2014 23:36] (Version actuelle) edmc73 |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== jQuery ====== | ====== jQuery ====== | ||
- | ===== Titre ===== | ||
- | + | ===== Comment créer un filtre imbriqué | |
- | + | ||
- | ==== Comment créer un filtre imbriqué | + | |
- | ==== | + | |
Un filtre vous permet de réduire l' | Un filtre vous permet de réduire l' | ||
Dans l' | Dans l' | ||
- | .filter(": | + | |
- | ==== Comment réutiliser vos recherches d' | + | ===== Comment réutiliser vos recherches d' |
- | ==== | + | |
var allItems = $(" | var allItems = $(" | ||
Ligne 21: | Ligne 16: | ||
Maintenant, vous pouvez continuer à travailler avec ces objets jQuery. Par exemple, " | Maintenant, vous pouvez continuer à travailler avec ces objets jQuery. Par exemple, " | ||
- | $(formToLookAt + " input: | + | |
keepList = keepList.filter(" | keepList = keepList.filter(" | ||
- | }); | + | |
- | ==== Vérifier si un élément contient une certaine classe ou un élément avec .has() ==== | + | ===== Vérifier si un élément contient une certaine classe ou un élément avec .has() |
jQuery 1.4 .* inclut le support de la méthode .has(). Cette méthode va rechercher si un élément d'une certaine classe contient un autre élément ou tout ce que vous cherchez, et dont vous voulez faire quelque chose. | jQuery 1.4 .* inclut le support de la méthode .has(). Cette méthode va rechercher si un élément d'une certaine classe contient un autre élément ou tout ce que vous cherchez, et dont vous voulez faire quelque chose. | ||
- | $(" | + | |
- | ==== Comment basculer les feuilles de style avec jQuery ==== | + | ===== Comment basculer les feuilles de style avec jQuery |
Cherchez le type de média que vous souhaitez basculer puis définissez l' | Cherchez le type de média que vous souhaitez basculer puis définissez l' | ||
- | $(' | + | |
- | ==== Comment limiter la portée d'une sélection (pour optimisation) ==== | + | ===== Comment limiter la portée d'une sélection (pour optimisation) |
Ligne 48: | Ligne 43: | ||
Rappelez-vous aussi que plus vous serez précis sur l' | Rappelez-vous aussi que plus vous serez précis sur l' | ||
- | var in_stock = $('# | + | |
- | <ul id=" | + | <ul id=" |
< | < | ||
< | < | ||
< | < | ||
- | </ul> | + | |
- | ==== Comment utiliser correctement toggleClass ==== | + | ===== Comment utiliser correctement toggleClass |
Ligne 62: | Ligne 57: | ||
Là où certains développeurs doivent utiliser : | Là où certains développeurs doivent utiliser : | ||
- | a.hasClass(' | + | |
toggleClass vous permet de le faire plus facilement : | toggleClass vous permet de le faire plus facilement : | ||
- | a.toggleClass(' | + | |
- | ==== Comment définir une fonction spécifique pour IE ==== | + | ===== Comment définir une fonction spécifique pour IE ===== |
- | if ($.browser.msie) { // Internet Explorer est un sadique. } | + | |
- | ==== Comment remplacer un élément avec jQuery ==== | + | ===== Comment remplacer un élément avec jQuery |
- | $('# | + | |
- | ==== Vérifier si un élément est vide ==== | + | ===== Vérifier si un élément est vide ===== |
- | if ($('# | + | |
- | ==== Comment trouver l' | + | ===== Comment trouver l' |
- | $("ul > li" | + | |
var index = $(this).prevAll().length; | var index = $(this).prevAll().length; | ||
- | }); | + | |
- | ==== Comment lier une fonction à un événemen | + | ===== Comment lier une fonction à un événement ===== |
- | t | + | |
- | $('# | + | |
+ | | ||
alert(' | alert(' | ||
- | }); | + | |
- | ==== Comment faire pour ajouter du code HTML à un élément ==== | + | ===== Comment faire pour ajouter du code HTML à un élément |
- | $('# | + | |
- | ==== Comment utiliser un objet littéral pour définir les propriétés lors de la création d'un élément ==== | + | ===== Comment utiliser un objet littéral pour définir les propriétés lors de la création d'un élément |
- | var e = $("", | + | |
- | ==== Comment filtrer à l'aide d' | + | ===== Comment filtrer à l'aide d' |
Cette approche basée sur la précision peut être utile lorsque vous utilisez beaucoup d' | Cette approche basée sur la précision peut être utile lorsque vous utilisez beaucoup d' | ||
- | var elements = $('# | + | |
- | ==== Comment précharger des images avec jQuery ==== | + | ===== Comment précharger des images avec jQuery |
Ligne 128: | Ligne 123: | ||
Utilisation : | Utilisation : | ||
- | $.preloadImages(' | + | |
- | ==== Comment définir un gestionnaire d' | + | ===== Comment définir un gestionnaire d' |
Ligne 138: | Ligne 133: | ||
Par exemple, dans le cas d'une table où avant il fallait utiliser : | Par exemple, dans le cas d'une table où avant il fallait utiliser : | ||
- | // .live() | + | |
- | $(" | + | $(" |
$(" | $(" | ||
$(this).toggleClass(" | $(this).toggleClass(" | ||
}); | }); | ||
- | }); | + | |
Maintenant, utilisez : | Maintenant, utilisez : | ||
- | $(" | + | |
$(this).toggleClass(" | $(this).toggleClass(" | ||
- | }); | + | |
- | ==== Comment trouver un élément option qui a été sélectionné ==== | + | ===== Comment trouver un élément option qui a été sélectionné |
- | $('# | + | |
- | ==== Comment cacher un élément qui contient un texte d'une certaine valeur ==== | + | ===== Comment cacher un élément qui contient un texte d'une certaine valeur |
- | $(" | + | |
- | ==== Comment faire un défilement jusqu' | + | ===== Comment faire un défilement jusqu' |
- | jQuery.fn.autoscroll = function(selector) { | + | |
- | $(' | + | $(' |
- | {scrollTop: $(selector).offset().top}, | + | {scrollTop: $(selector).offset().top}, |
- | 500 | + | 500 |
- | ); | + | ); |
- | } | + | } |
Pour faire défiler jusqu' | Pour faire défiler jusqu' | ||
- | $(' | + | |
- | ==== Comment détecter n' | + | ===== Comment détecter n' |
- | // Détecter Safari | + | |
if( $.browser.safari) | if( $.browser.safari) | ||
- | // Détecter IE6 et supérieur | + | |
if ($.browser.msie && $.browser.version > 6) | if ($.browser.msie && $.browser.version > 6) | ||
- | // Détecter IE6 et inférieur | + | |
if ($.browser.msie && $.browser.version <= 6) | if ($.browser.msie && $.browser.version <= 6) | ||
- | // Détecter FireFox 2 et supérieur | + | |
if ($.browser.mozilla && $.browser.version >= ' | if ($.browser.mozilla && $.browser.version >= ' | ||
- | ==== Comment remplacer un mot dans une chaîne ==== | + | ===== Comment remplacer un mot dans une chaîne |
- | var el = $('# | + | |
- | el.html(el.html().replace(/ | + | el.html(el.html().replace(/ |
- | ==== Comment désactiver le menu contextuel du clic-droite ==== | + | ===== Comment désactiver le menu contextuel du clic-droite |
- | $(document).bind(' | + | |
- | ==== Comment définir un sélecteur personnalisé ==== | + | ===== Comment définir un sélecteur personnalisé |
- | $.expr[':' | + | |
// element - est un élément DOM | // element - est un élément DOM | ||
// index - l' | // index - l' | ||
Ligne 214: | Ligne 209: | ||
// retourne ' | // retourne ' | ||
// retourne ' | // retourne ' | ||
- | }; | + | |
Utilisation du sélecteur personnalisé : | Utilisation du sélecteur personnalisé : | ||
- | $(' | + | |
- | ==== Comment vérifier si un élément existe ==== | + | ===== Comment vérifier si un élément existe |
- | if ($('# | + | |
- | ==== Comment détecter les clics gauche et droite de la souris avec jQuery ==== | + | ===== Comment détecter les clics gauche et droite de la souris avec jQuery |
- | $("# | + | |
if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) { | if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) { | ||
alert(" | alert(" | ||
Ligne 235: | Ligne 230: | ||
else if(e.button == 2) | else if(e.button == 2) | ||
alert(" | alert(" | ||
- | }); | + | |
- | ==== Comment afficher ou effacer une valeur par défaut dans un champ de saisie ==== | + | ===== Comment afficher ou effacer une valeur par défaut dans un champ de saisie |
Ce bout de code va vous montrer comment placer une valeur par défaut dans un champ de saisie de texte tant que l' | Ce bout de code va vous montrer comment placer une valeur par défaut dans un champ de saisie de texte tant que l' | ||
- | swap_val = []; | + | |
- | $(" | + | $(" |
swap_val[i] = $(this).val(); | swap_val[i] = $(this).val(); | ||
$(this).focusin(function(){ | $(this).focusin(function(){ | ||
Ligne 255: | Ligne 250: | ||
} | } | ||
}); | }); | ||
- | }); | + | |
- | <input value=" | + | |
+ | | ||
- | ==== Comment cacher ou fermer automatiquement un élément après un laps de temps (supporte 1.4) ==== | + | ===== Comment cacher ou fermer automatiquement un élément après un laps de temps (supporte 1.4) ===== |
Voici comment nous faisions en utilisant setTimeout avec jQuery 1.3.2 : | Voici comment nous faisions en utilisant setTimeout avec jQuery 1.3.2 : | ||
- | setTimeout(function() { | + | |
$(' | $(' | ||
- | }, 5000); | + | |
Et voici comment faire avec jQuery 1.4.* en utilisant la fonction delay() (c'est un peu comme sleep) : | Et voici comment faire avec jQuery 1.4.* en utilisant la fonction delay() (c'est un peu comme sleep) : | ||
- | $(" | + | |
- | ==== Comment ajouter dynamiquement des éléments créés dans le DOM ==== | + | ===== Comment ajouter dynamiquement des éléments créés dans le DOM ===== |
- | var newDiv = $('' | + | |
- | newDiv.attr(' | + | newDiv.attr(' |
- | ==== Comment limiter le nombre de caractères dans une zone de texte ==== | + | ===== Comment limiter le nombre de caractères dans une zone de texte ===== |
- | jQuery.fn.maxLength = function(max){ | + | |
this.each(function(){ | this.each(function(){ | ||
var type = this.tagName.toLowerCase(); | var type = this.tagName.toLowerCase(); | ||
Ligne 306: | Ligne 302: | ||
} | } | ||
}); | }); | ||
- | }; | + | |
Utilisation : | Utilisation : | ||
- | $('# | + | |
- | ==== Comment créer un test de base pour une fonction ==== | + | ===== Comment créer un test de base pour une fonction |
On sépare les tests en modules. | On sépare les tests en modules. | ||
- | module(" | + | |
- | test(" | + | |
- | // Specifie combien d' | + | // Specifie combien d' |
- | expect(2); | + | expect(2); |
- | // Une assertion de comparaison, | + | // Une assertion de comparaison, |
- | equals( true, false, "test raté" ); | + | equals( true, false, "test raté" ); |
- | equals( true, true, "test réussi" | + | equals( true, true, "test réussi" |
- | }); | + | }); |
- | ==== Comment cloner un élément avec jQuery ==== | + | ===== Comment cloner un élément avec jQuery |
- | var cloned = $('# | + | |
- | ==== Comment tester si un élément est visible en jQuery ==== | + | ===== Comment tester si un élément est visible en jQuery |
- | if($(element).is(': | + | |
- | ==== Comment centrer un élément à l' | + | ===== Comment centrer un élément à l' |
- | jQuery.fn.center = function () { | + | |
this.css(' | this.css(' | ||
this.css(' | this.css(' | ||
this.css(' | this.css(' | ||
return this; | return this; | ||
- | } | + | |
Utilisation : | Utilisation : | ||
- | $(element).center(); | + | |
- | ==== Comment mettre les valeurs de tous les éléments d'un même nom dans un tableau ==== | + | ===== Comment mettre les valeurs de tous les éléments d'un même nom dans un tableau |
- | var arrInputValues = new Array(); | + | |
- | $(" | + | $(" |
arrInputValues.push($(this).val()); | arrInputValues.push($(this).val()); | ||
- | }); | + | |
- | ==== Comment retirer les balises HTML de votre élément ==== | + | ===== Comment retirer les balises HTML de votre élément |
- | (function($) { | + | |
$.fn.stripHtml = function() { | $.fn.stripHtml = function() { | ||
var regexp = /< | var regexp = /< | ||
Ligne 376: | Ligne 372: | ||
return $(this); | return $(this); | ||
} | } | ||
- | })(jQuery); | + | |
Utilisation : | Utilisation : | ||
- | $(' | + | |
- | ==== Comment obtenir un élément parent à l'aide de closest() ==== | + | ===== Comment obtenir un élément parent à l'aide de closest() |
- | $('# | + | |
- | ==== Comment enregistrer des événements jQuery en utilisant Firebug et Firefox ==== | + | ===== Comment enregistrer des événements jQuery en utilisant Firebug et Firefox |
Permet l' | Permet l' | ||
- | $('# | + | |
- | jQuery.log = jQuery.fn.log = function (msg) { | + | jQuery.log = jQuery.fn.log = function (msg) { |
if (console){ | if (console){ | ||
console.log(" | console.log(" | ||
} | } | ||
return this; | return this; | ||
- | }; | + | |
- | ==== Comment forcer les liens à s' | + | ===== Comment forcer les liens à s' |
- | jQuery(' | + | |
newwindow=window.open($(this).attr(' | newwindow=window.open($(this).attr(' | ||
if (window.focus) {newwindow.focus()} | if (window.focus) {newwindow.focus()} | ||
return false; | return false; | ||
- | }); | + | |
- | ==== Comment forcer les liens à s' | + | ===== Comment forcer les liens à s' |
- | jQuery(' | + | |
newwindow=window.open($(this).href); | newwindow=window.open($(this).href); | ||
jQuery(this).target = " | jQuery(this).target = " | ||
return false; | return false; | ||
- | }); | + | |
- | ==== Comment sélectionner les frères et sœurs avec jQuery en utilisant .siblings() ==== | + | ===== Comment sélectionner les frères et sœurs avec jQuery en utilisant .siblings() |
Plutôt que de faire ceci : | Plutôt que de faire ceci : | ||
- | $('# | + | |
$('# | $('# | ||
$(this).addClass(' | $(this).addClass(' | ||
- | }); | + | |
Faites cela : | Faites cela : | ||
- | $('# | + | |
$(this).addClass(' | $(this).addClass(' | ||
.siblings().removeClass(' | .siblings().removeClass(' | ||
- | }); | + | |
- | ==== Comment activer/ | + | ===== Comment activer/ |
- | var tog = false; // ou ' | + | |
- | $(' | + | $(' |
$(" | $(" | ||
tog = !tog; | tog = !tog; | ||
- | }); | + | |
- | ==== Comment filtrer une liste d' | + | ===== Comment filtrer une liste d' |
Si la valeur de l' | Si la valeur de l' | ||
- | $(' | + | |
return $(this).attr(' | return $(this).attr(' | ||
- | }) | + | |
- | ==== Comment obtenir les coordonnées X/Y du curseur de la souris ==== | + | ===== Comment obtenir les coordonnées X/Y du curseur de la souris |
- | $(document).mousemove(function(e){ | + | |
$(document).ready(function() { | $(document).ready(function() { | ||
$().mousemove(function(e){ | $().mousemove(function(e){ | ||
$(’# | $(’# | ||
}); | }); | ||
- | }); | + | |
- | ==== Comment faire pour qu'un élément de liste (LI) soit entièrement cliquable ==== | + | ===== Comment faire pour qu'un élément de liste (LI) soit entièrement cliquable |
- | $("ul li" | + | |
- | window.location=$(this).find(" | + | window.location=$(this).find(" |
- | }); | + | }); |
- | window.location=$(this).find(" | + | window.location=$(this).find(" |
- | }); | + | }); |
- | < | + | < |
- | < | + | < |
- | < | + | < |
- | < | + | < |
- | < | + | < |
- | </ul> | + | </ul> |
- | ==== Comment analyser du XML avec jQuery (exemple de base) ==== | + | ===== Comment analyser du XML avec jQuery (exemple de base) ===== |
- | function parseXml(xml) { | + | |
// trouver chaque tutoriel et afficher l' | // trouver chaque tutoriel et afficher l' | ||
$(xml).find(" | $(xml).find(" | ||
Ligne 495: | Ligne 491: | ||
$("# | $("# | ||
}); | }); | ||
- | } | + | |
- | ==== Comment vérifier si une image a été complètement chargée ==== | + | ===== Comment vérifier si une image a été complètement chargée |
- | $('# | + | |
alert(' | alert(' | ||
- | }); | + | |
- | ==== Comment donner un espace de noms aux événements avec jQuery ==== | + | ===== Comment donner un espace de noms aux événements avec jQuery |
Les événements peuvent avoir un espace de noms comme ceci : | Les événements peuvent avoir un espace de noms comme ceci : | ||
- | $(' | + | |
// ... | // ... | ||
- | }); | + | |
La méthode data() accepte également des espaces de noms : | La méthode data() accepte également des espaces de noms : | ||
- | $(' | + | |
- | ==== Comment savoir si les cookies sont activés ou pas ==== | + | ===== Comment savoir si les cookies sont activés ou pas ===== |
- | var dt = new Date(); | + | |
dt.setSeconds(dt.getSeconds() + 60); | dt.setSeconds(dt.getSeconds() + 60); | ||
document.cookie = " | document.cookie = " | ||
Ligne 532: | Ligne 528: | ||
- | ==== Comment faire expirer un cookie ==== | + | ===== Comment faire expirer un cookie |
- | var date = new Date(); | + | |
- | date.setTime(date.getTime() + (x * 60 * 1000)); | + | date.setTime(date.getTime() + (x * 60 * 1000)); |
- | $.cookie(' | + | $.cookie(' |
- | ==== Remplacez tous les URL de votre page par un lien cliquable ==== | + | ===== Remplacez tous les URL de votre page par un lien cliquable |
- | $.fn.replaceUrl = function() { | + | |
var regexp = / | var regexp = / | ||
this.each(function() { | this.each(function() { | ||
Ligne 551: | Ligne 547: | ||
}); | }); | ||
return $(this); | return $(this); | ||
- | } | + | |
Utilisation : | Utilisation : | ||
- | $(' | + | |
- | + | ===== Trier des div suivant les paramètres ===== | |
+ | |||
+ | $('# | ||
+ | |||
+ | http:// |