如何使用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将数组转换为字符串。
Interesting Posts
KnockoutJS可排序组observableArray by field和conditionally sort
如何判断光标是否在元素的边界内
有没有办法测试jqGrid是否有数据?
滚动模态时,bootstrap-datepicker不会滚动
越过div时绑定到滚轮
如果可编辑为false,则fullCalendar eventClick处理程序不起作用
如何在调试模式下在浏览器中动态修改javascript代码?
如果window.location以html执行javascript结束
HTML5 Boilerplate:script.js和plugins.js之间的区别?
无法从jQuery ajax调用中获取json数据