从数据属性中收集多个json对象

时间:2016-11-28 15:14:11

标签: jquery json

我有3个按钮元素,我已将相同类型的JSON对象分配给数据属性。我想我可以将这些对象放到一个数组中,但是我只从第一个匹配中得到一个对象。

这是我的jQuery:

var configs = $("button[id*='alertbtn']").data('config');

我已经验证了我的选择器

$("button[id*='alertbtn']")

针对正确的三个要素。

是否有可能使用一行代码来实现我想要的东西?

1 个答案:

答案 0 :(得分:1)

一个?是。一个函数调用?不。: - )

var configs = $("button[id*='alertbtn']").map(function() { return $(this).data('config'); }).get();

更可读:

var configs = $("button[id*='alertbtn']")
                .map(function() { return $(this).data('config'); })
                .get();

使用map获取配置对象集,然后使用get将jQuery集的内容作为数组获取。

这是ES2015及以上版本中的一个可读行:

let configs = Array.from($("button[id*='alertbtn']")).map(e = > $(e).data('config'));