如何使用jQuery将所有元素的内容放在数组中?

Text1

Text2

Text3

结果应该是:

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

jQuery为此提供.map()

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

.map()遍历其元素,在每个元素上调用一个函数,并将函数的返回值记录在它返回的新数组中。

你也可以用一个简单的.each()解决这个问题:

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

这将有效:

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

map()允许您遍历每个匹配并从中获取一个值,该值将插入到类似数组的对象中。 get()然后将其作为Javascript数组返回,而.join将数组转换为字符串。