こんにちは私は画像の配列を持っています
["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」として保存されます。この配列内のインデックスを確認したいと思います。
どんな助けでも大歓迎です。
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);
});
そのために jQuery は必要ありませんが、標準の JavaScript で実行できます。使用indexOf()
( MDN ドキュメント):
var index = allpics.indexOf( yourPic );
ヘルプを使用できます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);
});
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
}
});