jQuery 遍历 - map() 方法

实例

构建表单中所有值的列表:

$("p").append($("input")).map(function() {
  return $(this).val();
).get().join(", ") );

Essayez-le vous-même

Définition et utilisation

map() passe chaque élément à travers une fonction dans le jeu actuel de correspondance pour générer un nouveau jQuery objet contenant les valeurs de retour.

Syntaxe

.map(callback(index,domElement))
Paramètres Description
callback(index,domElement) Fonction objet appelée pour chaque élément du jeu actuel.

Explication détaillée

Comme le retour est un tableau encapsulé par jQuery, utilisez get() pour traiter l'objet retourné pour obtenir un tableau de base.

.map() méthode est particulièrement utile pour obtenir ou définir les valeurs des jeux d'éléments. Pensez à ce formulaire avec une série de cases à cocher :

<form method="post" action="">
  <fieldset>
    <div>
      <label for="two">2</label>
      <input type="checkbox" value="2" id="two" name="number[]">
    </div>
    <div>
      <label for="four">4</label>
      <input type="checkbox" value="4" id="four" name="number[]">
    </div>
    <div>
      <label for="six">6</label>
      <input type="checkbox" value="6" id="six" name="number[]">
    </div>
    <div>
      <label for="eight">8</label>
      <input type="checkbox" value="8" id="eight" name="number[]">
    </div>
  </fieldset>
</form>

Nous pouvons obtenir une liste délimitée par des virgules des ID des cases à cocher :

$(':checkbox').map(function() {
  return this.id;
).get().join(',');

Essayez-le vous-même

Le résultat de cette appel est une chaîne de caractères : "two,four,six,eight".

Dans la fonction callback, this fait référence à l'élément DOM actuel de chaque itération. La fonction peut retourner un élément de données individuel ou un tableau d'éléments à insérer dans le jeu de résultats. Si le retour est un tableau, les éléments à l'intérieur seront insérés dans le jeu. Si la fonction retourne null ou undefined, aucun élément ne sera inséré.