背景:私は、既存のフォトギャラリープラグインでアップグレードを実行しています。このプラグインでは、中央に大きなイメージが表示され、徐々に小さいイメージが表示されます。.data()によって付加された値を選択する方法はありますか?
だから私の質問はこれです:
$(this).data('index', i).data('prev', i - 1).data('next', i + 1);
:私はそうのように、画像のインデックス、次の画像のインデックスと、前の画像のインデックスを与える各画像の上にいくつかのデータを設定しています後で、そのインデックスに基づいてイメージを選択できるようにしたいと思います。私は、次のことを試してみたが、それは動作していないよう:
$('[data-index=' + index + ']');
は.data()
と添付データの一部に基づいて要素を選択する方法はありますか?
Sweet!だから '$( 'img')。filter(function(){return $ .data(this、 'index')== index;})'のようなものが動作し、 '*'を使うよりも効率的でなければなりません。 – Ender
ページにたくさんの要素がある場合、はい、ばかげて非効率です。 jQueryは、ページ上のすべての要素を調べて、このようにそれぞれの要素をテストする必要があります。彼が言ったようにセレクタを狭くすると、その大丈夫です。 – simshaun
@Ender - yup、まさに。 *たくさんの要素がある場合は、実際には完全に後方に行く方法がありますが、まずそれを試してください。これははるかに簡単で理解しやすいためです。 –