如何使用Javascript获取特定页面上的所有图像源

时间:2011-04-27 18:54:09

标签: javascript image

我使用一个简单的脚本在页面上查找图像并获取其来源。

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

然而,当我在我的页面上写这个功能时,它只找到第一个图像,然后停止。打印当前页面上所有图像src的最佳方法是什么? 谢谢!

5 个答案:

答案 0 :(得分:25)

你确实告诉代码这样做了。不要那样做。只需告诉它循环遍历所有图像并将每个图像的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;
}

答案 1 :(得分:0)

我在整个网络上搜索了一个解决方案,如果其他人搜索同样的话,这可能会有所帮助。

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

意思是,搜索所有具有样式标记的图像(本例中为边框)并将所有边框设置为E0FDA6(对于重置单个高亮显示的图像很有用),但我想它可以用于带有样式标记的所有内容。

Rg,Anjanka

答案 2 :(得分:0)

它可能对你有帮助......

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

答案 3 :(得分:0)

简单说明:

console.log(document.body.getElementsByTagName('img'));

答案 4 :(得分:0)

要在当前页面上打印(替换内容):

document.write(`<pre>${JSON.stringify(Array.prototype.map.call(document.getElementsByTagName("img"), img => img.src), null, 2)}</pre>`);

要保存在数组中:

const imgs = Array.prototype.map.call(document.getElementsByTagName("img"), img => img.src);

要直接控制台目录/日志,请执行以下操作:

console.dir(Array.prototype.map.call(document.getElementsByTagName("img"), img => img.src));
console.log(Array.prototype.map.call(document.getElementsByTagName("img"), img => img.src));