我有一个图像列表,我想根据宽度过滤出图标,并存储在变量“图标”中。这部分没有问题。然后我尝试过滤掉具有重复来源的图标,因此我只获得'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/
任何想法如何过滤“图标”以在追加它们之前只保留唯一的来源?
答案 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);
}
});
找到它