首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何(使用JavaScript)将下载属性添加到<body></body>标记内的所有<a>标记?

如何(使用JavaScript)将下载属性添加到<body></body>标记内的所有<a>标记?
EN

Stack Overflow用户
提问于 2019-04-05 15:15:22
回答 5查看 1.1K关注 0票数 -1

使用JavaScript,我想在我的网页上的所有<a>标签中添加一个'download‘属性。

当前代码是

代码语言:javascript
复制
<a href="link of some pdf file">View1</a>
<a href="link of some pdf file">View2</a>
<a href="link of some pdf file">View3</a>
<a href="link of some pdf file">View4</a>
<a href="link of some pdf file">View5</a>

我想要的是使用JavaScript一次在所有的<a>标签中添加下载属性。

结果如下所示:

代码语言:javascript
复制
<a href="link of some pdf file" download>View1</a>
<a href="link of some pdf file" download>View2</a>
<a href="link of some pdf file" download>View3</a>
<a href="link of some pdf file" download>View4</a>
<a href="link of some pdf file" download>View5</a>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-04-05 15:31:40

document.querySelectorAll('a')可以获取文档中的所有<a>元素。

它返回一个数组,因此您可以使用forEach()遍历所有元素。

最后,可以使用setAttribute()设置元素的属性。

你可能会看到<a download="">,但这和<a download>是一样的。

请参见下面的示例。

代码语言:javascript
复制
var updateTextarea = function () {
  document.querySelector('textarea').value = document.querySelector('main').innerHTML;
};

var addDownload = function () {
  document.querySelectorAll('a').forEach(function(e) { e.setAttribute('download', ''); });
  updateTextarea();
};

updateTextarea();
代码语言:javascript
复制
<main>
  <a href="link of some pdf file">View1</a>
  <a href="link of some pdf file">View2</a>
  <a href="link of some pdf file">View3</a>
  <a href="link of some pdf file">View4</a>
  <a href="link of some pdf file">View5</a>
</main>

<p><button onclick="addDownload()">Add download</button></p>

<p><textarea cols="50" rows="8" readonly></textarea></p>

票数 1
EN

Stack Overflow用户

发布于 2019-04-05 15:23:25

代码语言:javascript
复制
var linkTags = document.getElementsByTagName('a');
for(var i= 0; i< linkTags.length; i++)
  linkTags[i].setAttribute('download','');
代码语言:javascript
复制
<a href="link of some pdf file">View1</a>
<a href="link of some pdf file">View2</a>
<a href="link of some pdf file">View3</a>
<a href="link of some pdf file">View4</a>
<a href="link of some pdf file">View5</a>

票数 0
EN

Stack Overflow用户

发布于 2019-04-05 15:24:21

您应该使用download属性。

您的标记将如下所示

代码语言:javascript
复制
<a href="link of some pdf file" download = "link_of_some_pdf_file.pdf">View1</a>

你应该这样做

代码语言:javascript
复制
element = document.getElementById(...);
element.setAttribute('download', element.getAttribute('href');

我将让您了解如何将其放入一个循环中;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55530084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档