jQuery - méthode map (callback)

La description

le map( callback ) La méthode traduit un ensemble d'éléments dans l'objet jQuery en un autre ensemble de valeurs dans un tableau jQuery qui peut ou non contenir des éléments.

Vous pouvez utiliser cette méthode pour créer des listes de valeurs, d'attributs, de valeurs css - ou même effectuer des transformations de sélecteurs spéciales et personnalisées.

Syntaxe

Voici la syntaxe simple pour utiliser cette méthode -

selector.map( callback )

Paramètres

Voici la description de tous les paramètres utilisés par cette méthode -

  • callback - La fonction à exécuter sur chaque élément de l'ensemble.

Exemple

Voici un exemple simple montrant l'utilisation de cette méthode -

<html>
   <head>
      <title>The jQuery Example</title>
      <script type = "text/javascript" 
         src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
      </script>
		
      <script type = "text/javascript" language = "javascript">
         $(document).ready(function(){
			
            var mappedItems = $("li").map(function (index) {
               var replacement = $("<li>").text($(this).text()).get(0);
				
               if (index == 0) {
                  // make the first item all caps
                  $(replacement).text($(replacement).text().toUpperCase());
               } else if (index == 1 || index == 3) {
                  // delete the second and fourth items
                  replacement = null;
               } else if (index == 2) {
                  // make two of the third item and add some text
                  replacement = [replacement,$("<li>").get(0)];
                  $(replacement[0]).append("<b> - A</b>");
                  $(replacement[1]).append("Extra <b> - B</b>");
               }

               // replacement will be an dom element, null, 
               // or an array of dom elements
               return replacement;
            });
				
            $("#results").append(mappedItems);
         });
      </script>
		
      <style>
         body { font-size:16px; }
         ul { float:left; margin:0 30px; color:blue; }
         #results { color:red; }
      </style>
   </head>
	
   <body>

      <ul>
         <li>First</li>
         <li>Second</li>
         <li>Third</li>
         <li>Fourth</li>
         <li>Fifth</li>
      </ul>
		
      <ul id = "results">
      </ul>
   </body>
</html>

Cela produira le résultat suivant -

jquery-traversing.htm