添加数组中元素的所有数据属性

add all data attr from element in array

本文关键字:数据属性 元素 数组 添加      更新时间:2023-09-26

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

$('.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/
但我只得到第一个元素的data属性。
怎么了?

你可以使用。map(),当你使用。data()作为getter时,它将返回调用对象集合中第一个对象的值

$('.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);
});

演示:小提琴

您需要使用$(this)来瞄准当前点击的div类lightbox-trigger:

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

更新小提琴

如果您想检索src属性的数组,那么您可以使用.map():

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

更新小提琴