0

div内にあるすべての画像を取得しています。

var favImages = $('#divPlacesILove img').get();

tagImage要素が配列内にあるかどうかを確認しています。

これは、すべきでないときに常に-1を返します。

alert($.inArray($(tagImage).attr('src'), favImages));
4

3 に答える 3

2
$('#divPlacesILove img').get()

これにより、DOM要素の配列が返されます。

$.inArray($(tagImage).attr('src'), favImages))

DOM要素の配列で文字列を探しているので、何も見つかりません。

なんでinArrayここで使ってるの?jQueryオブジェクトに要素useが含まれているかどうかを確認したい場合は、.is

$('#divPlacesILove img').is(tagImage); // true

または.filter

$('#divPlacesILove img').filter(function(){
    return this === tagImage; // or $(this).prop('src') === $(tagImage).prop('src')
})
于 2012-08-30T15:40:26.250 に答える
2

あなたはおそらく探している.map()

var favImages = $('#divPlacesILove img').map(function() {
    return this.src;
}).get();

favImages属性の配列になりますsrc

于 2012-08-30T15:44:42.993 に答える
1

配列にあるのはDOM要素であり、hrefと比較しています!!

同じ関数セットを使用することを主張する場合は、これを試すことができます..

var favImages = $('#divPlacesILove img').get();
alert($.inArray($(tagImage)[0], favImages));

favImagesは画像の配列であり$(tagImage)[0]、タグ付けされた画像です..

于 2012-08-30T15:42:26.753 に答える