背景:我正在对现有的照片库插件进行升级,该插件在中央显示大图像,并逐渐将较小的图像移到任何一侧。
所以我的问题是:我在每个图像上设置了一些数据,这些数据给出了图像的索引,下一个图像的索引和上一个图像的索引,如下所示:
$(this).data('index', i).data('prev', i - 1).data('next', i + 1);
稍后,我希望能够根据索引选择图像。我尝试了以下内容,但它似乎不起作用:
$('[data-index=' + index + ']');
有没有办法根据.data()
附加的数据选择元素?
答案 0 :(得分:4)
您可以使用.filter()
,如下所示:
$('*').filter(function() { return $.data(this, 'index') == index; })
但是,*
非常昂贵,因为它会对所有元素运行此过滤器,请使用更具体的选择器开始。
答案 1 :(得分:1)
略有替代方法:
假设图像是HTML中的一系列图片,为什么不这样做呢?
$('#images img').eq(index)