Come mettere i contenuti di tutti gli elementi in arrays utilizzando jQuery?

<div id="main"> <p>Text1</p> <p>Text2</p> <p>Text3</p> </di> 

Il risultato dovrebbe essere:

 ["text1","text2","text3"] 

jQuery fornisce .map() per questo:

 var items = $('#main p').map(function () { return $(this).text(); }).get(); 

.map() iterizza sopra i suoi elementi, richiamando una function su ciascuna di esse e registrando il valore restituito della function in una nuova matrix che restituisce.

Potresti anche risolvere questo problema con un semplice .each() :

 var items = []; $('#main p').each(function (i, e) { items.push($(e).text()); }); 

Questo functionrà:

 var p = $('#main p').map(function () { return '"' + $(this).text() + '"'; }).get().join(','); p = "[" + p + "]"; 

map () consente di eseguire iterazioni su each partita e di get un valore da esso, che viene inserito in un object come l'arrays. get () quindi lo restituisce come un arrays Javascript e .join rende l'arrays in una string.