2013-03-02 50 views
21

我可以用attr为“在匹配的元素集合中获取的第一要素属性的值。”获取属性列表一套jQuery的元素

要获得属性列表,我是否需要用$(..).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" 

我想要["11457", "11429"]

回答

54
var allAttributes = $('tr.food-row').map(function(){ 
    return $(this).data('pk'); 
}).get(); 

Live DEMO

+2

为什么'得到()'调用? – 2013-03-02 22:13:57

+2

@SkylarSaveland。 _“由于返回值是一个包含数组的jQuery对象,因此在结果上调用.get()以处理基本数组是非常常见的。”_ [docs](http://api.jquery.com/map /) – gdoron 2013-03-02 22:14:49

+0

你不喜欢这个问题上的'potato-programming'标签? – 2013-03-02 22:16:40