【发布时间】:2014-07-02 22:19:00
【问题描述】:
我有这个“清单”:
<div class="list">
<div class="test" data-id="1"></div>
<div class="test" data-id="2"></div>
<div class="test" data-id="3"></div>
<div class="test" data-id="4"></div>
<div class="test" data-id="5"></div>
</div>
我需要获取所有元素的data 属性,所以我这样做:
var _this = $('.list'),
_el = _this.find('div');
var _id = $.map(_el, function(el) {
return {name: 'offer-id', value: $(el).data('id')}
});
但我得到的只是第一个元素的属性......有什么问题?小提琴:http://jsfiddle.net/4DRxz/
【问题讨论】:
-
好吧,在您的演示中,您只是访问第一个元素的值。你对运行
alert(_id[0].value)还有什么期待? -
如果我使用每种方法都这样做,我会得到相同的结果...
-
那么你调用每个的方式可能是错误的,因为
_id对我来说看起来不错:jsfiddle.net/4DRxz/1 -
好的,但是如何只获得这个值?
-
这个问题似乎是题外话,因为它没有表现出 OP 描述的问题。
标签: javascript jquery attributes jquery-data