jQuery - 过滤独特的图标源

时间:2012-10-27 16:36:28

标签: jquery image filter unique

我有一个图像列表,我想根据宽度过滤出图标,并存储在变量“图标”中。这部分没有问题。然后我尝试过滤掉具有重复来源的图标,因此我只获得'icons'变量中的唯一图标,并将其附加到uniq div。

我找到了这段代码,它会在加载时删除重复的所有重复图像。在将“图标”首先过滤后再添加到uniq div之前,我无法运行它:

$(function(){
var srcs = [], temp;
    $("img").filter(function(){
        temp = $(this).attr("src");
        if($.inArray(temp, srcs) < 0){
            srcs.push(temp);   
            return false;
        }
        return true;
    }).remove();
});

这是我到目前为止所拥有的: http://jsfiddle.net/xCjjp/9/

任何想法如何过滤“图标”以在追加它们之前只保留唯一的来源?

1 个答案:

答案 0 :(得分:2)

当您循环浏览图像以将其添加到div#uniq时,将每个新图像源添加到数组并检查每个连续的源对照该数组,如果不存在,则表示它是唯一的。< / p>

var icons = $("img").filter(function(){
    return (this.width < 100)
});
    var icon_src = [];

$.each(icons, function(i,e){
    if ($.inArray(e.src, icon_src) === -1) {
        $("#uniq").append("<img src='"+ e.src +"'>");
        icon_src.push(e.src);
    }
});

您可以在http://jsfiddle.net/KhWgj/4/

找到它