Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在段落中创建按钮_Javascript_Html_Arrays_Button_Copy - Fatal编程技术网

Javascript 在段落中创建按钮

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>

我想在段落标记后创建复制按钮。这是我正在使用的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 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');