从数组中的元素添加所有数据attr

时间:2014-03-26 07:12:40

标签: javascript jquery arrays

我需要在数组中添加所有数据属性

$('.lightbox-trigger').click(function (e) {
e.preventDefault();
e.stopPropagation();
var image_src_arr = $('.lightbox-trigger').data('img-src');
console.log(image_src_arr);

});

http://jsfiddle.net/v7E5g/2/
但我只获得数据属性的第一个元素 怎么了?我怎样才能使它发挥作用?

2 个答案:

答案 0 :(得分:3)

当您使用.map()作为getter时,可以使用.data(),然后它将从调用对象集中的第一个对象返回值

$('.lightbox-trigger').click(function (e) {
    e.preventDefault();
    e.stopPropagation();
    var image_src_arr = $('.lightbox-trigger').map(function () {
        return $(this).data('img-src');
    }).get()
    console.log(image_src_arr);

});

演示:Fiddle

答案 1 :(得分:2)

您需要使用$(this)定位当前点击的div lightbox-trigger

var image_src_arr = $(this).data('img-src');

<强> Updated Fiddle

如果要检索src属性数组,则可以使用.map()

var image_src_arr = $('.lightbox-trigger').map(function () {
    return $(this).data('img-src');
}).get();

<强> Updated Fiddle