<div id="main">
<p>Text1</p>
<p>Text2</p>
<p>Text3</p>
</di>
结果应该是:
["text1","text2","text3"]
答案 0 :(得分:16)
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());
});
答案 1 :(得分:0)
这将有效:
var p = $('#main p').map(function () {
return '"' + $(this).text() + '"';
}).get().join(',');
p = "[" + p + "]";
map()允许您遍历每个匹配并从中获取一个值,该值将插入到类似数组的对象中。 get()然后将其作为Javascript数组返回,而.join将数组转换为字符串。