2013-09-22 43 views
-1

我有以下圖片如何使用jquery刪除重複的圖像?

<div id="test"> 
<img class='img1' /> 
<img class='img2' /> 
<img class='img3' /> 
<img class='img4' /> 
<img class='img1' /> 
<img class='img2' /> 
<img class='img3' /> 
<img class='img4' /> 
</div> 

我想刪除與img1, img2, img3, img4類重複的圖像。

編輯

我的第二個案例是去除圖像的首次出現圖像不從去年IMG4,但以前這

+0

這我是一個愚蠢的問題,但在IMG名單應該由用戶產生或一些代碼輸出? – wilks

回答

2

做:

$('#test').children().each(function(i, v){ 
    var $this = $(this), classname = $this.attr("class"); 
    $this.siblings('.' + classname).remove() 
}); 

演示:: jsFiddle

加入::你的意思是這樣的:

var classes = []; 
$("img").each(function(id, vl) { 
    $this = $(this), cls = $this.attr("class"); 

    if($.inArray(cls, classes) < 0) { 
     classes.push(cls); 
    } 
}); 
for(var c = 0; c < classes.length; c++) { 
    if($("img."+classes[c]).length > 1) { 
     $("img."+classes[c]+":first").remove(); 
    } 
} 
+0

爲什麼 - 投票給我的問題。 –

+0

@NavinRauniyar我爲什麼會投下你的問題..?我沒有這樣做..! –

1

只是刪除重複項:

var seen = {}; 
$('img').each(function() { 
    var className = $(this).attr('class'); 
    if (seen[className]) 
     $(this).remove(); 
    else 
     seen[className] = true; 
}); 
0
var srcs = new Array(); 
$(document).ready(function(){ 
    $(".img1").each(function() { 
     if(jQuery.inArray($(this).attr('src'), srcs) != -1) { 
      $(this).remove(); 
     } else { 
      srcs.push($(this).attr('src')); 
     } 
    }); 
});