1

こんにちは私は画像の配列を持っています

["img/wedgallery/1.jpg", "img/wedgallery/2.jpg", "img/wedgallery/3.jpg", "img/wedgallery/4.jpg", "img/wedgallery/5.jpg", "img/wedgallery/6.jpg"]

これは、画像がクリックされたときに変数「allpics」として保存されます。この配列内のインデックスを確認したいと思います。

どんな助けでも大歓迎です。

4

4 に答える 4

2
var allpics = ["img/wedgallery/1.jpg", "img/wedgallery/2.jpg", "img/wedgallery/3.jpg", "img/wedgallery/4.jpg", "img/wedgallery/5.jpg", "img/wedgallery/6.jpg"];

$('img').click(function(){
    var src = $(this).attr('src');
    var index = $.inArray(src, allpics);
});
于 2012-08-20T14:04:53.817 に答える
2

そのために jQuery は必要ありませんが、標準の JavaScript で実行できます。使用indexOf()( MDN ドキュメント):

var index = allpics.indexOf( yourPic );
于 2012-08-20T14:03:39.813 に答える
0

jsBin デモ

ヘルプを使用できますjQuery.inArray()

var images = ["img/wedgallery/1.jpg", "img/wedgallery/2.jpg", "img/wedgallery/3.jpg", "img/wedgallery/4.jpg", "img/wedgallery/5.jpg", "img/wedgallery/6.jpg"];


$('img').click(function(){
  var src = $(this).attr('src');
  var myArrIndexIs = $.inArray(src, images);
  alert(myArrIndexIs);
});
于 2012-08-20T14:07:01.993 に答える
0

jQuery を使用したい場合は、jQuery.inArray. または、grep を使用できます。条件を満たす要素を配列から検索します。インデックスは、コールバックでパラメータとして渡されます。

http://api.jquery.com/jQuery.grep/

jQuery.grep( array, function(elementOfArray, indexInArray) [, invert] )

それで

var img = //clicked elements src attrib

// s is the element selected from the array
var s = $.grep(allImages, function(elem, i) {
    if (img == elem.attr('src'))
    {
        //i is the index in allImages
    }
});
于 2012-08-20T14:08:40.310 に答える