使用JavaScript,我想在我的网页上的所有<a>标签中添加一个'download‘属性。
当前代码是
<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>标签中添加下载属性。
结果如下所示:
<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>发布于 2019-04-05 15:31:40
document.querySelectorAll('a')可以获取文档中的所有<a>元素。
它返回一个数组,因此您可以使用forEach()遍历所有元素。
最后,可以使用setAttribute()设置元素的属性。
你可能会看到<a download="">,但这和<a download>是一样的。
请参见下面的示例。
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();<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>
发布于 2019-04-05 15:23:25
var linkTags = document.getElementsByTagName('a');
for(var i= 0; i< linkTags.length; i++)
linkTags[i].setAttribute('download','');<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>
发布于 2019-04-05 15:24:21
您应该使用download属性。
您的标记将如下所示
<a href="link of some pdf file" download = "link_of_some_pdf_file.pdf">View1</a>你应该这样做
element = document.getElementById(...);
element.setAttribute('download', element.getAttribute('href');我将让您了解如何将其放入一个循环中;)
https://stackoverflow.com/questions/55530084
复制相似问题