我正在使用以下腳本將 div 復制到剪貼板。但我正在嘗試使用相同的按鈕復制多個 div(DivA DivB),同時在每個 div 周圍添加一些引號和括號。我看到一些答案(像這一個,而這個),但我似乎無法能夠將它們落實當前腳本。
所以輸出應該是這樣的:
"A certain quote" (Author Name).
這是當前復制一個 div 的腳本。
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="divA">
<p>A certain quote</p>
</div>
<div id="divB">
<p>Author Name</p>
</div>
<button onclick="copyToClipboard('#divA')">Copy</button>
uj5u.com熱心網友回復:
問題是因為您只是從“#divA”中讀取文本,因為這是傳遞給copyToClipboard()函式的選擇器。
做你需要修改邏輯來創建你需要同時包含文本格式的字串什么#divA和#divB:
let $divA = $('#divA');
let $divB = $('#divB');
$('button').on('click', e => {
copyToClipboard(`"${$divA.text().trim()}" (${$divB.text().trim()}).`);
});
function copyToClipboard(text) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val(text).select();
document.execCommand("copy");
$temp.remove();
}
textarea {
width: 300px;
height: 30px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="divA">
<p>A certain quote</p>
</div>
<div id="divB">
<p>Author Name</p>
</div>
<button type="button">Copy</button><br /><br />
Paste here to test:<br />
<textarea></textarea>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/380683.html
標籤:javascript html 查询
上一篇:加載新文章內容時重置圖庫計數
下一篇:動態創建jQuery物件后為空
