我正在获取div内部的所有图像。
var favImages = $('#divPlacesILove img').get();
我正在检查tagImage元素是否在数组中。
当它不应该返回-1时,它总是返回-1。
alert($.inArray($(tagImage).attr('src'), favImages));
您可能正在寻找.map()
:
var favImages = $('#divPlacesILove img').map(function() {
return this.src;
}).get();
现在favImages
将是src
属性的数组。
$('#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')
})
数组中有DOM元素,您正在与href进行比较!!
若你们坚持使用相同的函数集,你们可以试试这个。。
var favImages = $('#divPlacesILove img').get();
alert($.inArray($(tagImage)[0], favImages));
现在favImages
是图像阵列,$(tagImage)[0]
是您的标签图像。。