Maison > interface Web > js tutoriel > 5 jQuery.each () Exemples de fonction

5 jQuery.each () Exemples de fonction

William Shakespeare
Libérer: 2025-02-08 11:06:17
original
642 Les gens l'ont consulté

5 jQuery.each() Function Examples

Cet article traite de la fonction jQuery.each () en profondeur - l'une des fonctions les plus importantes et couramment utilisées dans jQuery. Nous explorerons son importance et apprendrons à l'utiliser.

Points de base

    La fonction
  1. jQuery.each () est un outil multi-fonctions dans jQuery qui itère sur les éléments, les tableaux et les objets DOM, afin d'effectuer efficacement les opérations DOM multi-éléments et le traitement des données.
  2. Cette fonction fournit deux modes de fonctionnement: en tant que méthode appelée sur un objet jQuery (pour les éléments DOM), et en tant que fonction pratique pour les tableaux et les objets, chaque mode convient à différents types de structures de données.
  3. Avec des exemples pratiques, cet article démontre la puissance et la flexibilité de jQuery.each (), met en évidence son importance dans la simplification des itérations et met en évidence des méthodes JavaScript alternatives pour effectuer des tâches similaires.

Qu'est-ce que jQuery.each ()?

La fonction JQuery de JQuery est utilisée pour parcourir chaque élément de l'objet jQuery cible - un objet contenant un ou plusieurs éléments DOM et exposer toutes les fonctions jQuery. Il est très utile pour les opérations DOM multi-éléments et itération des propriétés arbitraires de tableau et d'objet.

En plus de cette fonction, JQuery fournit également une fonction d'assistance avec le même nom qui peut être appelé sans sélection préalable ni création d'aucun élément DOM.

jQuery.each () Syntaxe

Jetons un coup d'œil à l'application pratique de différents modes.

L'exemple suivant sélectionne chaque élément <div> sur la page Web et publie l'index et l'ID de chaque élément: <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>// DOM 元素 $('div').each(function(index, value) { console.log(`div${index}: ${this.id}`); });</pre><div class="contentsignin">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</div></div> <p> Les résultats de sortie possibles sont: </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">&lt;code&gt;div0:header div1:main div2:footer&lt;/code&gt;</pre><div class="contentsignin">Copier après la connexion</div></div><div class="contentsignin">Copier après la connexion</div></div> <p> Cette version utilise la fonction <code>$(selector).each() de jQuery, pas des fonctions pratiques.

L'exemple suivant montre l'utilisation de fonctions pratiques. Dans ce cas, l'objet à boucle sur est donné comme le premier paramètre. Dans cet exemple, nous montrerons comment traverser le tableau:

// 数组
const arr = [
  'one',
  'two',
  'three',
  'four',
  'five'
];

$.each(arr, function(index, value) {
  console.log(value);
  // 将在 "three" 后停止运行
  return (value !== 'three');
});

// 输出:one two three
Copier après la connexion
Copier après la connexion

Dans le dernier exemple, nous voulons montrer comment itérer sur les propriétés d'un objet:

// 对象
const obj = {
  one: 1,
  two: 2,
  three: 3,
  four: 4,
  five: 5
};

$.each(obj, function(key, value) {
  console.log(value);
});

// 输出:1 2 3 4 5
Copier après la connexion
Copier après la connexion

Tout cela se résume à la fourniture de la fonction de rappel appropriée. Le contexte de la fonction de rappel this sera égal à son deuxième paramètre, la valeur actuelle. Cependant, comme le contexte est toujours un objet, la valeur d'origine doit être enveloppée:

$.each({ one: 1, two: 2 } , function(key, value) {
  console.log(this);
});

// Number { 1 }
// Number { 2 }
Copier après la connexion
Copier après la connexion

Cela signifie qu'il n'y a pas d'égalité stricte entre la valeur et le contexte.

$.each({ one: 1 } , function(key, value) {
  console.log(this == value);
  console.log(this === value);
});

// true
// false
Copier après la connexion
Copier après la connexion

Le premier paramètre est l'index actuel, qui est un nombre (pour les tableaux) ou une chaîne (pour les objets).

  1. JQUERY JQUERY.EACH () Exemple de fonction

Voyons comment la fonction jQuery.each () est utilisée en conjonction avec les objets jQuery. Le premier exemple sélectionne tous les éléments a de la page et publie leurs propriétés href:

$('a').each(function(index, value){
  console.log(this.href);
});
Copier après la connexion
Copier après la connexion

Le deuxième exemple produit chaque href externe sur la page Web (en supposant uniquement le protocole HTTP (S)):

$('a').each(function(index, value){
  const link = this.href;

  if (link.match(/https?:\/\//)) {
    console.log(link);
  }
});
Copier après la connexion
Copier après la connexion

Supposons qu'il y ait le lien suivant sur la page:

<a href="https://www.php.cn/link/9a4b930f7a36153ca68fdf211c8836a7">SitePoint</a>
<a href="https://www.php.cn/link/235fba44e32ba4dd3a3f72db1a8a6846">MDN web docs</a>
<a href="https://www.php.cn/link/60c4a88bac6125d490af523a8c94e5e1">Example Domain</a>
Copier après la connexion
Copier après la connexion

Le deuxième exemple sortira:

// DOM 元素
$('div').each(function(index, value) {
  console.log(`div${index}: ${this.id}`);
});
Copier après la connexion
Copier après la connexion

Nous devons noter que l'élément DOM de l'objet jQuery est une forme "native" dans la fonction de rappel qu'il passe à jQuery.each (). La raison en est que JQuery n'est en fait qu'un wrapper pour les tableaux d'éléments DOM. En utilisant jQuery.each (), ce tableau est itéré de la même manière qu'un tableau normal. Par conséquent, nous n'aurons pas les éléments de l'emballage de la boîte.

À propos de notre deuxième exemple, cela signifie que nous pouvons obtenir l'attribut this.href de l'élément en écrivant href. Si nous voulons utiliser la méthode attr() de jQuery, nous devons reconditionner l'élément comme ceci: $(this).attr('href').

  1. jQuery.each () Exemple de tableau

Voyons comment gérer les tableaux normaux:

<code>div0:header
div1:main
div2:footer</code>
Copier après la connexion
Copier après la connexion

Cette sortie de code d'extrait de code:

// 数组
const arr = [
  'one',
  'two',
  'three',
  'four',
  'five'
];

$.each(arr, function(index, value) {
  console.log(value);
  // 将在 "three" 后停止运行
  return (value !== 'three');
});

// 输出:one two three
Copier après la connexion
Copier après la connexion

Rien de spécial ici. Le tableau a un index numérique, nous obtenons donc des nombres à partir de 0 à n-1 n est le nombre d'éléments dans le tableau.

  1. jQuery.each () JSON Exemple

Nous pouvons avoir des structures de données plus complexes, telles que des tableaux dans des tableaux, des objets dans des objets, des objets dans des tableaux ou des tableaux dans des objets. Voyons comment jQuery.each () peut nous aider dans ce cas:

// 对象
const obj = {
  one: 1,
  two: 2,
  three: 3,
  four: 4,
  five: 5
};

$.each(obj, function(key, value) {
  console.log(value);
});

// 输出:1 2 3 4 5
Copier après la connexion
Copier après la connexion

cet exemple de sortie:

$.each({ one: 1, two: 2 } , function(key, value) {
  console.log(this);
});

// Number { 1 }
// Number { 2 }
Copier après la connexion
Copier après la connexion

Nous utilisons des appels imbriqués à jQuery.each () pour gérer les structures imbriquées. L'appel externe gère le tableau des couleurs variables; Dans cet exemple, il n'y a qu'une seule clé par objet, mais vous pouvez généralement utiliser ce code pour traiter n'importe quel nombre de clés.

  1. jQuery.each () Exemple de classe

Cet exemple montre comment traverser chaque élément de la classe ProductDescription attribuée (donnée dans le HTML ci-dessous):

$.each({ one: 1 } , function(key, value) {
  console.log(this == value);
  console.log(this === value);
});

// true
// false
Copier après la connexion
Copier après la connexion

Nous utilisons chaque fonction d'assistance () au lieu de chaque méthode () sur le sélecteur.

$('a').each(function(index, value){
  console.log(this.href);
});
Copier après la connexion
Copier après la connexion

Dans ce cas, la sortie est:

$('a').each(function(index, value){
  const link = this.href;

  if (link.match(/https?:\/\//)) {
    console.log(link);
  }
});
Copier après la connexion
Copier après la connexion

Nous n'avons pas à inclure l'index et la valeur. Ce ne sont que des paramètres qui aident à déterminer quel élément DOM nous itèrent actuellement. De plus, dans ce cas, nous pouvons également utiliser une méthode plus pratique. Nous pouvons écrire de cette façon:

<a href="https://www.php.cn/link/9a4b930f7a36153ca68fdf211c8836a7">SitePoint</a>
<a href="https://www.php.cn/link/235fba44e32ba4dd3a3f72db1a8a6846">MDN web docs</a>
<a href="https://www.php.cn/link/60c4a88bac6125d490af523a8c94e5e1">Example Domain</a>
Copier après la connexion
Copier après la connexion

Nous allons entrer dans la console:

<code>https://www.php.cn/link/9a4b930f7a36153ca68fdf211c8836a7
https://www.php.cn/link/235fba44e32ba4dd3a3f72db1a8a6846
https://www.php.cn/link/60c4a88bac6125d490af523a8c94e5e1</code>
Copier après la connexion

Notez que nous emballons l'élément DOM dans une nouvelle instance jQuery afin que nous puissions utiliser la méthode Text () de JQuery pour obtenir le contenu texte de l'élément.

  1. jQuery.each () Exemple de retard

Dans l'exemple suivant, lorsque l'utilisateur clique sur un élément avec ID 5Demo, tous les éléments de la liste seront définis sur Orange immédiatement.

const numbers = [1, 2, 3, 4, 5];
$.each(numbers, function(index, value){
  console.log(`${index}: ${value}`);
});
Copier après la connexion

Après le retard lié à l'indice (0, 200, 400 ... MS), nous faisons fondre l'élément:

<code>0:1
1:2
2:3
3:4
4:5</code>
Copier après la connexion

Conclusion

Dans cet article, nous démontrons comment itérer sur les éléments, les tableaux et les objets DOM à l'aide de la fonction jQuery.each (). Il s'agit d'une fonction puissante et économe en temps que les développeurs devraient intégrer dans leur propre boîte à outils.

Si jQuery n'est pas votre choix préféré, vous voudrez peut-être envisager d'utiliser des méthodes JavaScript native Object.keys() et Array.prototype.forEach(). Il existe également des bibliothèques comme ForEach qui vous permettent d'itérer sur des paires de valeurs clés d'objets de tableau de classe ou d'objets de dictionnaire.

N'oubliez pas: $.each() et $(selector).each() sont deux méthodes différentes définies de deux manières différentes.

(Cet article a été mis à jour en 2020 pour refléter les meilleures pratiques actuelles et mettre à jour les conclusions sur les solutions natives utilisant le javascript moderne. Pour en savoir plus sur JavaScript, lisez notre livre JavaScript: From Novice to Ninja, Second Edition》)

Des questions fréquemment posées sur jQuery chaque fonction ()

Quel est le but de la fonction .each () dans jQuery? La fonction .each () dans jQuery est utilisée pour parcourir une collection d'éléments DOM et effectuer des opérations spécifiques sur chaque élément.

Comment utiliser la fonction .Each () dans jQuery? Vous pouvez utiliser la fonction .each () en sélectionnant un ensemble d'éléments à l'aide du sélecteur jQuery, puis en appelant .each () sur cette sélection. Vous fournissez une fonction de rappel qui définit l'action à effectuer sur chaque élément.

Quels sont les paramètres de la fonction de rappel utilisés avec .each ()? La fonction de rappel accepte deux paramètres: index (l'index actuel de l'élément de la collection) et l'élément (l'élément DOM actuel étant itéré).

Comment utiliser le paramètre d'index dans la fonction de rappel .each ()? Vous pouvez utiliser le paramètre d'index pour suivre la position de l'élément actuel de la collection, ce qui est très utile pour les opérations conditionnelles ou d'autres opérations.

Quels sont les cas d'utilisation courants pour la fonction

.each ()? Les cas d'utilisation courants incluent l'itération d'une liste d'éléments pour manipuler leurs propriétés, valeurs ou styles et effectuer des actions personnalisées sur chaque élément de la collection.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal