将document.execCommand(“copy”)中的值保存为JavaScript中的字符串
我有一个“复制到剪贴板”按钮,用于复制从搜索查询生成的文本,该查询将粘贴到url中。但是,当我粘贴它时,将document.execCommand(“copy”)中的值保存为JavaScript中的字符串,javascript,html,Javascript,Html,我有一个“复制到剪贴板”按钮,用于复制从搜索查询生成的文本,该查询将粘贴到url中。但是,当我粘贴它时,标记在字符串中可见。我了解如何使用.replace()函数,但我想知道的是,是否可以使用document.execCommand(“copy”)保存复制的单词 以下是我的JavaScript代码: function copyToClipboard(elementId) { // Create a "hidden" input var aux = document.create
标记在字符串中可见。我了解如何使用.replace()函数,但我想知道的是,是否可以使用document.execCommand(“copy”)保存复制的单词
以下是我的JavaScript代码:
function copyToClipboard(elementId) {
// Create a "hidden" input
var aux = document.createElement("input");
// Assign it the value of the specified element
aux.setAttribute("value", document.getElementById(elementId).innerHTML);
// Append it to the body
document.body.appendChild(aux);
// Highlight its content
aux.select();
// Copy the highlighted text
document.execCommand("copy");
// Remove it from the body
document.body.removeChild(aux);
//var query = aux.replace("<br>", "");
console.log(aux);
//document.body.replace(aux, queryItem);
}
函数copyToClipboard(elementId){
//创建“隐藏”输入
var aux=document.createElement(“输入”);
//为其指定指定元素的值
setAttribute(“值”,document.getElementById(elementId.innerHTML);
//将其附加到正文中
文件.正文.附件(aux);
//突出其内容
辅助选择();
//复制突出显示的文本
文件。执行命令(“副本”);
//将其从车身上拆下
文件.body.removeChild(aux);
//var query=aux.replace(“
”,”);
控制台日志(aux);
//文件.正文.替换(辅助,查询项);
}
这是我的HTML:
<div id="QueryStringContainer" class="QueryStringContainer">
<div id="QueryString" class="control-label">this is a query string for users to consume</div>
<button onclick="copyToClipboard('QueryString')">Copy to Clipboard</button>
</div>
这是供用户使用的查询字符串
复制到剪贴板
假设表单生成字符串cat
ran
fast
,
根据我所掌握的,如何使用该函数将字符串保存为变量
谢谢你的帮助
编辑:
在控制台中,它打印的
不是document.getElementById(elementId)。innerHTML
是否具有该值?也许你应该试试.innerText
?@Malk,将其替换为.innerText,让我看看第二个答案。你想得到什么最终结果?变量应该包含整个HTML,或者只包含不带标记的文本?document.getElementById(elementId)。innerHTML不具有该值吗?也许你应该试试.innerText
?@Malk,将其替换为.innerText,让我看看第二个答案。你想得到什么最终结果?变量应该包含整个HTML还是只包含没有标记的文本?