繁体   English   中英

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

[英]How to put all elements' content in array using jQuery ?

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

结果应该是:

["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将数组转换为字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM