获取jQuery元素集的data-foo属性列表

Sky*_*and 26 each jquery

我可以用attr"获取匹配元素集中第一个元素的属性值......"

要获取属性列表,我是否需要手动构建它$(..).each或者是否方便?

$('tr.food-row')
[
<tr class=?"food-row" data-pk=?"11457">?…?</tr>?
, 
<tr class=?"food-row" data-pk=?"11429">?…?</tr>?
]
$('tr.food-row').attr('data-pk')
"11457"
Run Code Online (Sandbox Code Playgroud)

我想得到["11457", "11429"].

gdo*_*ica 62

var allAttributes = $('tr.food-row').map(function(){
    return $(this).data('pk');
}).get();
Run Code Online (Sandbox Code Playgroud)

现场演示

  • @SkylarSaveland._"由于返回值是一个包含数组的jQuery对象,因此在结果上调用.get()以使用基本数组是很常见的."_ [docs](http://api.jquery.com /地图/) (4认同)
  • 为什么`get()`调用? (2认同)
  • @SkylarSaveland,嗯......因为这是该标签中唯一的问题......并且没有人使用那个短语...而且这是一个简单的jQuery API问题......我认为没有它我们会更好,但是你可以返回它你喜欢,毕竟这是你的问题. (2认同)