我有3个按钮元素,我已将相同类型的JSON对象分配给数据属性。我想我可以将这些对象放到一个数组中,但是我只从第一个匹配中得到一个对象。
这是我的jQuery:
var configs = $("button[id*='alertbtn']").data('config');
我已经验证了我的选择器
$("button[id*='alertbtn']")
针对正确的三个要素。
是否有可能使用一行代码来实现我想要的东西?
答案 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'));