Javascript 在段落中创建按钮
我想在段落标记后创建复制按钮。这是我正在使用的html-Javascript 在段落中创建按钮,javascript,html,arrays,button,copy,Javascript,Html,Arrays,Button,Copy,我想在段落标记后创建复制按钮。这是我正在使用的html- <div class="main"><p class="heading">Example Number One.</p></div> <div class="main"><p class="heading">Example Number Two.</p></div>
<div class="main"><p class="heading">Example Number One.</p></div>
<div class="main"><p class="heading">Example Number Two.</p></div>
<div class="main"><p class="heading">Example Number Three.</p></div>
这就是你想要的东西:
const parentObject=document.getElementsByClassName('heading');
[…parentObject].forEach((父对象,i)=>{
const child=document.createElement('button');
child.className=`copy btn copy btn-${i}`;
child.innerHTML='Copy';
parent.appendChild(child)
});
copyBtn=document.querySelectorAll('.copy btn');
copyBtn.forEach(btn=>{
btn.addEventListener('单击',()=>{
const parent=btn.parentElement;
常量范围=document.createRange();
range.setStart(父级,0);
range.setEnd(父,1);
window.getSelection().addRange(范围);
var successful=document.execCommand('copy');
getSelection().removeAllRanges();
});
});代码>
第一个例子
第二个例子
第三个示例。
根据前面的答案,heading不是父项。主要是
const parentObject = document.getElementsByClassName('main');
请添加您正在使用的JavaScript代码。好的。让我添加。@Matt我添加了JS。嘿!如何将parentElement替换为GetElementsByCassName等其他内容。因为我更改了copy btn parent,所以我要复制。仅引用文本。const parent=btn.parentElement;
const parentObject = document.getElementsByClassName('heading');
[...parentObject].forEach((parent, i) => {
const child = document.createElement('button');
child.className = 'copy-btn';
child.innerHTML = 'Copy';
parent.appendChild(child)
});
copyBtn = document.querySelector('.copy-btn');
copyBtn.addEventListener('click', function(event) {
var para = document.querySelector('.heading');
var range = document.createRange();
range.selectNode(para);
window.getSelection().addRange(range);
var successful = document.execCommand('copy');
window.getSelection().removeAllRanges();
});
const parentObject = document.getElementsByClassName('main');