背景:我正在對現有照片庫插件進行升級,該插件在中央顯示大圖像,並逐漸向兩側顯示較小的圖像。有沒有辦法選擇.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