2016-05-07 2 views
0

特定のページのすべてのユニークな画像を削除するuserscriptを作成しようとしています。だから私はすべてのリンクを比較し、すべてのユニークを削除する必要があります。JavaScriptページ内のすべてのユニークな画像を削除します

var images = document.getElementsByTagName('img'); 

for(i = 0;i < images.length; i++){ 
    for(j = 0;j < images.length; j++){ 
     if(images[i].src.!(match(images[j])) images[i].remove() 
} 

のか「表示:なし」でそれを隠す:私はこの方法でそれをやろうとしています。これは、あなたのコードのようになりある

+0

を試すことができますか? – Natsathorn

答えて

1
function hideUnique() { 
     var imgs = document.getElementsByTagName('img'); 
     var srcs = []; 
     for (var i = 0, n = imgs.length; i < n; i++) { 
      srcs[imgs[i].src] = (srcs[imgs[i].src] || 0) + 1; 
     } 
     for (var i = 0, n = imgs.length; i < n; i++) { 
      if (srcs[imgs[i].src] == 1) 
       imgs[i].style.display = 'none'; 
     } 

    } 
+0

ありがとうございます!それは私が必要なものです=) – passwd

0

var images = document.getElementsByTagName("img"); 
var arr = []; 
for(x in images){ 
    If(arr.indexOf(images[x].src) == -1){ 
      arr.push(images[x].src); 
    }else 
      images[x].style.display = "none"; 
    } 
} 
+0

このコードはすべての画像を非表示にします。 – passwd

+0

試してみました。 – Natsathorn

0

あなたはこれで問題が何本

var images = document.getElementsByTagName("img"); 
var imageSrcMap = {}; 

for(var i = 0; i < images.length; i++){ 
    if(!imageSrcMap[images[i].src]){ 
    imageSrcMap[images[i].src] = { 
     count:0, 
     position:[] 
    } 
    } 
    imageSrcMap[images[i].src].count++; 
    imageSrcMap[images[i].src].position.push(i); 
} 

Object.keys(imageSrcMap).forEach(function(src){ 
    if(imageSrcMap[src].count === 1){ 
    images[imageSrcMap[src].position[0]].style.display = 'none'; 
    } 
}); 
+0

素晴らしい作品です!健康を願って! =) – passwd

関連する問題