背景:我正在对现有照片库插件进行升级,该插件在中央显示大图像,并逐渐向两侧显示较小的图像。有没有办法选择.data()附加的值?
所以我的问题是这样的:我设置,让图像的指数,下一个图像的索引,和先前图像的指数,像这样在每个图像上的一些数据:
$(this).data('index', i).data('prev', i - 1).data('next', i + 1);
稍后,我希望能够根据索引选择图像。我试过以下,但它似乎并没有工作:
$('[data-index=' + index + ']');
有没有一种方法来选择基于附有.data()
一块数据的一个元素?
甜!所以然后像'$('img')。filter(function(){return $ .data(this,'index')== index;})'应该可以工作,并且比使用'*'更有效率。 – Ender 2010-12-14 18:15:01
如果页面上有很多元素,那么是的,可笑的效率很低。 jQuery必须筛选页面上的每个元素,并以这种方式测试每一个元素。如果你像他说的那样缩小选择器,那就好了。 – simshaun 2010-12-14 18:17:12
@恩德 - y,正好。如果你有很多元素,实际上有一个完全倒退的方法,但首先尝试 - 因为它更简单,更容易理解。 – 2010-12-14 18:24:39