簡體   English   中英

我們如何向其中包含的所有<a>標簽</a>添加下載屬性 <body></body> 標簽(使用JavaScript)?

[英]How can we add a download attribute to all the <a> tags present inside <body></body> tag (using JavaScript)?

我想使用JavaScript在網頁上顯示的所有<a>標記中添加“下載”屬性。

當前代碼是

<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>

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> 

這個“ download ”屬性實際上並沒有太多。 您只需提供一個文件名作為屬性值 然后,當用戶單擊anchor link,他們將下載HREF位置並使用提供的文件名保存生成的有效負載:

<a href="./generate-zip?id=4" download="assets.zip">Download</a>

在這種情況下,服務器生成的ZIP file將作為"assets.zip".保存到用戶的計算機中"assets.zip".

有關更多詳細信息,您可以訪問

https://www.bennadel.com/blog/3412-using-the-anchor-tag-href-and-download-attributes-to-force-a-file-download.htm

希望能幫助您解決問題

 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> 

您應該使用下載屬性。

您的標簽將如下所示

<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');

我會讓您弄清楚如何將其循環放置;)

 var hrefs = document.getElementsByTagName("a"); for (var i=0, max=hrefs.length; i < max; i++) { hrefs[i].setAttribute("download","pdf"); } 
 <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> 

首先是從dom中獲取所有元素,

遍歷每個元素並使用setAttribute函數添加屬性

您需要獲取所有元素a ,然后遍歷每個元素的set屬性。

 var links = document.getElementsByTagName('a'); for(var i= 0; i< links.length; i++) links[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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM