2011-04-27 47 views
5

我正在使用一個簡單的腳本在頁面上查找圖像並獲取其源。如何使用Javascript獲取特定頁面上的所有圖像源

function img_find() { 
    var img_find2 = document.getElementsByTagName("img")[0].src; 
    return img_find; 
} 

但是,當我去寫我的網頁上的這個功能,它只發現第一個圖像,然後停止。在當前頁面上打印所有圖像src的最佳方式是什麼? 謝謝!

+0

「它只是發現的第一個圖像」 - 'document.getElementsByTagName(」 img「)[0]'mmm? – Andrey 2011-04-27 18:59:23

+0

是的,即使頁面上有多個圖像,它也只會從特定頁面獲取一個圖像src。 – Chris 2011-04-27 19:00:46

+0

@Andrey試圖將注意力放在你獲得數組第一項的'[0]'上。 – BalusC 2011-04-27 19:04:09

回答

18

你確實告訴代碼這麼做。不要這樣做。只需告訴它遍歷所有圖像並將每個圖像的src推送到一個數組中,然後返回帶有所有srcs的數組。

function img_find() { 
    var imgs = document.getElementsByTagName("img"); 
    var imgSrcs = []; 

    for (var i = 0; i < imgs.length; i++) { 
     imgSrcs.push(imgs[i].src); 
    } 

    return imgSrcs; 
} 
+0

感謝這個BalusC,但它沒有加載任何img src。 – Chris 2011-04-27 19:07:17

+0

如果文檔有圖像,它應該可以正常工作。也許你誤解了返回值?它返回一個數組。或者你運行得太早?在'window.onload'上執行,或者在''之前將腳本放在主體的末尾。 – BalusC 2011-04-27 19:16:47

+0

明白了!最後一件事:我用這個在頁面上寫img urls img_find = img_find(); document.write('test'+ img_find);但它出現像http://www.domain.com/image.png,http://www.domain.com/image.png這樣的結果是否有打破它們?所以也許他們之間有一段時間的休息。 – Chris 2011-04-27 19:22:28

0

我搜索了整個網絡的解決方案,也許這將有助於如果其他人搜索相同的。

for(var i = 0; i< document.images.length; i++){ 
document.images[i].style.border = "1px solid #E0FDA6"; 
} 

含義,尋找有風格標籤(境在這個例子中)中的所有圖像,並設置所有邊框E0FDA6(重置單高亮圖像有用的),但我想它可以用於家居的風格標籤。

RG,Anjanka

0

它可以幫助你...

img=document.getElementsByTagName("img"); 
for(i=0; i<img.length; i++) { 
    imgp = imgp + img[i].src + '<br/>'; 
} 
document.write(imgp); 
+0

如果您正確格式化代碼,這將會有所幫助。 – chilemagic 2014-07-05 17:36:23

0

使簡單:

console.log(document.body.getElementsByTagName('img')); 
相關問題