我使用一个简单的脚本在页面上查找图像并获取其来源。
function img_find() {
var img_find2 = document.getElementsByTagName("img")[0].src;
return img_find;
}
然而,当我在我的页面上写这个功能时,它只找到第一个图像,然后停止。打印当前页面上所有图像src的最佳方法是什么? 谢谢!
答案 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));