在jQuery中从一个对象数组中拉出一个项目

时间:2017-02-06 21:32:06

标签: javascript jquery arrays

我很难理解这一点。我根据img标签的src中是否有单词/resize/选择所有图像标签(我认为它返回一个数组......?)。然后我想检查每个src,看看是否有一个文件在img标签的src位置指定。如果图像确实存在,那么我想从数组中提取该图像,但它不会被删除。它还说Uncaught TypeError: images.indexOf is not a function

这是我的代码 -

var images = [];
var images = $(' img[src*="/resize/"]');

console.log(images);

$.each(images, function(key, value){
    var getFile = $(value).data('src');
    $.ajax({
        type: 'HEAD',
        url: getFile,
        success: function() {
            var index = images.indexOf(key);

            if (index > -1) {
                images.splice(index, 1);
            }
        },
        error: function() {

        }
    });
    x++;
});

有人可以帮忙吗?这让我很难过......

1 个答案:

答案 0 :(得分:1)

$(或jQuery)构造函数返回一个jQuery对象。 jQuery对象的行为很像一个带有length,slice方法等的数组,以及索引为0,1,2 ......等的元素。

但是jQuery对象是一个真正的javascript Array,并且没有很多数组方法,例如joinreverse或者你的情况{ {1}}。

相反,您可以使用indexOf方法。 Read more about it on jQuery API Documentation