我正在获取div内的所有图像。
var favImages = $('#divPlacesILove img').get();
我正在检查tagImage元素是否在数组内部。
当它不应该返回时,它总是返回-1。
alert($.inArray($(tagImage).attr('src'), favImages));
答案 0 :(得分:2)
$('#divPlacesILove img').get()
这会返回一个DOM元素数组。
$.inArray($(tagImage).attr('src'), favImages))
您正在寻找DOM元素数组中的字符串,因此找不到任何内容。
为什么在这里使用inArray
?如果要查看jQuery对象是否包含元素,.is
:
$('#divPlacesILove img').is(tagImage); // true
或.filter
:
$('#divPlacesILove img').filter(function(){
return this === tagImage; // or $(this).prop('src') === $(tagImage).prop('src')
})
答案 1 :(得分:2)
您可能正在寻找.map()
:
var favImages = $('#divPlacesILove img').map(function() {
return this.src;
}).get();
现在favImages
将是src
属性的数组。
答案 2 :(得分:1)
数组中有什么是DOM元素,你正在与href !!
进行比较如果你坚持使用同一套功能,你可以试试这个..
var favImages = $('#divPlacesILove img').get();
alert($.inArray($(tagImage)[0], favImages));
现在favImages
是图片数组,$(tagImage)[0]
是您的标记图片..