【发布时间】:2021-04-14 03:41:05
【问题描述】:
嘿,我是 javascript 的新手,但我尽我所能编写了一个 javascript。它工作正常,但是当我输入<div class="flex"></div> 时它停止工作。因为按钮标签针对的是前一个元素。
我的 HTML
<div class="mainStatus">
<h2 class="statusHeading">Latest English Status</h2>
<div class="allStatus">
<div class="block">
<div class="latestatus">
<p>Life is good when you have books</p>
<div class="flex"><button class="copystatus btn">Copy</button> <span class="randomStatusCopyAlert">Copied!</span></div>
</div>
<div class="latestatus">
<p>Google is a open source library by Larry Page and Sergey Brin!</p>
<div class="flex"><button class="copystatus btn">Copy</button> <span class="randomStatusCopyAlert">Copied!</span></div>
</div>
</div>
<div class="block">
<div class="latestatus">
<p>Cats are better than dogs.</p>
<div class="flex"><button class="copystatus btn">Copy</button> <span class="randomStatusCopyAlert">Copied!</span></div>
</div>
<div class="latestatus">
<p>Ferrets are better than rats</p>
<div class="flex"><button class="copystatus btn">Copy</button> <span class="randomStatusCopyAlert">Copied!</span></div>
</div>
</div>
</div>
</div>
我的 javascript
buttons.forEach((copystatus) => {
copystatus.addEventListener('click', (e) => {
const copylatest = e.target.previousElementSibling.innerText;
const copyText = document.createElement('textarea');
copyText.value = copylatest;
document.body.appendChild(copyText);
copyText.select();
document.execCommand('copy');
document.body.removeChild(copyText);
copyalert.style.visibility="visible"
e.target.parentElement.appendChild(copyalert);
setTimeout(function() {copyalert.style.visibility ="hidden"},700);
})
})
请帮助我并提前感谢。
【问题讨论】:
标签: javascript html scripting dynamic-html