jQuery Esecuzione ciclica - metodo map()
Esempio
Costruire l'elenco di tutti i valori del modulo:
$("p").append($("input"));.map(function() { return $(this).val(); ).get().join(", ") );
Definizione e uso
map() passa ogni elemento attraverso una funzione nella collezione corrente corrente, generando un nuovo oggetto jQuery contenente i valori di ritorno.
Sintassi
.map(callback(index,domElement))
Parametro | Descrizione |
---|---|
callback(index,domElement) | Oggetto della funzione chiamata per ogni elemento nella collezione corrente. |
Descrizione dettagliata
Poiché il valore di ritorno è un array encapsulato da jQuery, utilizzare get() per trattare l'oggetto di ritorno per ottenere l'array di base.
.map() metodo è particolarmente utile per ottenere o impostare i valori di un set di elementi. Pensa a questo modulo con una serie di caselli di selezione:
<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>
Possiamo ottenere una lista separata da virgola di ID dei caselli di selezione:
$(':checkbox').map(function() { return this.id; ).get().join(',');
Il risultato della chiamata attuale è una stringa: "two,four,six,eight".
All'interno della funzione callback, this si riferisce all'elemento DOM corrente di ogni iterazione. La funzione può restituire un singolo elemento di dati o un array di elementi di dati da essere inseriti nel set di risultati. Se viene restituito un array, gli elementi dell'array vengono inseriti nel set. Se la funzione restituisce null o undefined, non viene inserito alcun elemento.