2

如何从以下代码行中获取所有数据 ID

HTML:

<div data-id='1' class="userId">
    <span> user name-1 </span>
</div>
<div data-id='2' class="userId">
    <span>user name-2</span>
</div>

javascript:

var userIds = $('.userId').attr("data-id");

但它只返回1

4

2 回答 2

7
var userIds = $('.userId').map(function(){
    return $(this).data('id');
}).get();

它是如何工作的?

它抓取所有userId类元素,然后它将执行一个函数(with map),该函数将使用返回data-id属性data,然后使用 `get.

为什么你的代码不起作用?

var userIds = $('.userId').attr("data-id");

attr仅适用于集合中的第一个匹配元素,因此它仅返回第一个元素 id- 1

attr: 获取匹配元素集中第一个元素的属性值...

于 2013-02-07T16:57:14.063 回答
0
var ar = [];
$('div[data-id]').each( function() {
    ar.push($(this).data('id'));
});

...应该这样做,但我没有测试它。

于 2013-02-07T16:59:44.377 回答