javascript - Javascript:循环中的 element.click()
问题描述
我是 Javascript 的新手。
目前,我想用 Javascript 从网站下载一些图片,这是我尝试过的:
$(document).ready(function() {
$('.indnt1').find('a').each(function() {
if($(this).attr('target') === "_blank") {
var image = this;
console.log(image);
image.click();
}
});
});
HTML结构:
<ul class="indnt1">
<li>
<a href="ht.tp://mysite.com/2021%20.jpg"
target="_blank">pic1.jpg</a>
<span class="textPanelFooter">(
271 KB
)</span>
</li>
<li>
<a href="ht.tp://mysite.com/2022%20.jpg"
target="_blank">pic2.jpg</a>
<span class="textPanelFooter">(
349 KB
)</span>
</li>
<li>
<a href="ht.tp://mysite.com/2024%20.jpg"
target="_blank">pic4.jpg</a>
<span class="textPanelFooter">(
319 KB
)</span>
</li>
<li>
<a href="ht.tp://mysite.com/2023%20.jpg"
target="_blank">pic3.jpg</a>
<span class="textPanelFooter">(
218 KB
)</span>
</li>
</ul>
基本上,此脚本将找到并从中下载图像。但我不知道为什么我的脚本只能下载第一个图像,它不能像我预期的那样下载多个图像。
有人可以帮我吗?为什么它不起作用?谢谢你。
解决方案
请试试这个。
var images = document.getElementsByTagName('img');
var srcList = [];
var i = 0;
setInterval(function(){
if(images.length > i){
srcList.push(images[i].src);
var link = document.createElement("a");
link.id=i;
link.download = images[i].src;
link.href = images[i].src;
link.click();
i++;
}
},1500);
推荐阅读
- javascript - 不确定在 R3F 中使用 Cannon.js 和导入模型的最佳方式
- c++ - 在头文件中使用外部类进行单元测试,在 C++ 中没有虚方法
- ios - 动画 webp 帧被 Safari 裁剪(在 iOS 14.7 上看到)
- node.js - 预加载取决于当前工作目录 [Electron]
- javascript - 根据单选按钮选择显示/隐藏输入字段
- r - R中的判别函数分析
- php - 涉及 phar 文件的自动加载优先级是什么
- java - UTF 符号的 DataOutputStream.writeUTF() 问题
- r - R Shiny:只计算一次重复输出
- react-native - 如何在 API Nextjs 服务器上发布数据