Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Javascript获取特定页面上的所有图像源_Javascript_Image - Fatal编程技术网

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

如何使用Javascript获取特定页面上的所有图像源,javascript,image,Javascript,Image,我使用一个简单的脚本在页面上查找图像并获取其源代码 function img_find() { var img_find2 = document.getElementsByTagName("img")[0].src; return img_find; } 但是,当我在页面上编写此函数时,它只会找到第一个图像,然后停止。让它打印当前页面上所有图像src的最佳方式是什么? 谢谢 您确实告诉了代码这样做。不要那样做。只需告诉它在所有图像上循环,并推送数组中每个图像的src,然后返回包

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

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

但是,当我在页面上编写此函数时,它只会找到第一个图像,然后停止。让它打印当前页面上所有图像src的最佳方式是什么?
谢谢

您确实告诉了代码这样做。不要那样做。只需告诉它在所有图像上循环,并推送数组中每个图像的src,然后返回包含所有src的数组即可

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;
}
函数img_find(){
var imgs=document.getElementsByTagName(“img”);
var imgSrcs=[];
对于(变量i=0;i
我在整个网络上搜索了一个解决方案,如果有人搜索相同的解决方案,这可能会有所帮助

for(var i = 0; i< document.images.length; i++){
document.images[i].style.border = "1px solid #E0FDA6";
}
for(var i=0;i
也就是说,搜索所有具有样式标记(本例中为边框)的图像,并将所有边框设置为E0FDA6(用于重置单个高亮显示的图像),但我猜它可以用于所有具有样式标记的图像

Rg,Anjanka

它可能会帮助你

img=document.getElementsByTagName("img");
for(i=0; i<img.length; i++) {
    imgp = imgp + img[i].src + '<br/>'; 
}
document.write(imgp);
img=document.getElementsByTagName(“img”);
对于(i=0;i’;
}
文件编写(imgp);
简单一点:

console.log(document.body.getElementsByTagName('img'));
要在当前页面上打印(替换内容):

要直接使用console dir/log,请执行以下操作:


“它只找到第一个图像”-
document.getElementsByTagName(“img”)[0]
mmm?是的,即使页面上有多个图像,它也只从特定页面获取一个图像src。@Andrey试图让您注意
[0]
您可以在那里获得数组的第一项。当您调用
document.getElementsByTagName(“img”)
时,您会得到一个包含所有img元素的SRC的元素数组,然后使用此
[0]
获得第一个元素的SRC。您的问题是这样的:我在页面上拍摄第一幅图像(
[0]
),但是它只找到第一个图像。感谢这个BalusC,但它没有加载任何img src。如果文档有图像,它应该可以正常工作。也许你误解了返回值?它返回了一个数组。或者你运行它太早了?在
窗口上执行。onload
或将脚本放在正文末尾,就在
之前。明白了!最后一件事:我用它在页面img_find=img_find();document.write('test'+img_find')上写img URL,但它会输出这样的结果,不管怎样,它们是不是要分开的?所以它们之间可能有一个分开。如果你的代码格式正确,这会很有帮助。
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));