<div id="main">
<p>Text1</p>
<p>Text2</p>
<p>Text3</p>
</di>
Result should be :
["text1","text2","text3"]
jQuery provides .map()
for this:
var items = $('#main p').map(function () { return $(this).text(); }).get();
.map()
iterates over its elements, invoking a function on each of them and recording the return value of the function in a new array, which it returns.
You could also have solved this with a simple .each()
:
var items = [];
$('#main p').each(function (i, e) {
items.push($(e).text());
});
This will work:
var p = $('#main p').map(function () {
return '"' + $(this).text() + '"';
}).get().join(',');
p = "[" + p + "]";
map() lets you iterate over each match and get a value from it, which is inserted into an array-like object. get() then returns it as a Javascript array, and .join makes the array into a string.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.