jQuery - metodo map (callback)
Descrizione
Il map( callback ) traduce un insieme di elementi nell'oggetto jQuery in un altro insieme di valori in un array jQuery che può o non può contenere elementi.
È possibile utilizzare questo metodo per creare elenchi di valori, attributi, valori css o persino eseguire trasformazioni di selettori speciali e personalizzate.
Sintassi
Ecco la semplice sintassi per utilizzare questo metodo:
selector.map( callback )
Parametri
Ecco la descrizione di tutti i parametri utilizzati da questo metodo:
callback - La funzione da eseguire su ogni elemento dell'insieme.
Esempio
Di seguito è riportato un semplice esempio che mostra l'uso di questo metodo:
<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>
Questo produrrà il seguente risultato:
jquery-traversing.htm