我正在处理一个项目,其中有一个包含名字、姓氏和电子邮件地址的表格。最后一列应该是一个按钮,允许用户将特定人员的电子邮件地址复制到剪贴板。
另外,是的,我知道这是老式 JS,我正在处理一个遗留项目。
这是我的代码:https://codepen.io/anfperez/pen/ZZdwWL HTML
所以,我有两个困境: 1)如何使每个生成的按钮复制正确的电子邮件地址(而不仅仅是一个或全部)?我似乎需要为每个条目分配唯一的ID,但如果列表变得更长,我不知道该如何开始生成它们。 2)我一直收到“copyText.select()不是有效函数”的错误。我一直在按照几个教程进行操作,在这些教程中使用了此方法,因此我不确定为什么在这里无法工作。
另外,是的,我知道这是老式 JS,我正在处理一个遗留项目。
这是我的代码:https://codepen.io/anfperez/pen/ZZdwWL HTML
<table style="width:100%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>E-mail</th>
<th>Button</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td id="email">jsmith@whatever.com</td>
<td><button>Click to Copy</button></td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td id="email">ejackson@whatever.com</td>
<td><button>Click to Copy</button></td>
</tr>
</table>
JS
function copyToClipboard() {
var copyText = document.getElementById("email")
copyText.select();
document.execCommand("copy");
alert("Copied the text: " + copyText.value);
}
所以,我有两个困境: 1)如何使每个生成的按钮复制正确的电子邮件地址(而不仅仅是一个或全部)?我似乎需要为每个条目分配唯一的ID,但如果列表变得更长,我不知道该如何开始生成它们。 2)我一直收到“copyText.select()不是有效函数”的错误。我一直在按照几个教程进行操作,在这些教程中使用了此方法,因此我不确定为什么在这里无法工作。
email
ID转换成一个类,那么你应该能够根据它作为被点击按钮的兄弟元素来唯一选择它。(获取被点击按钮的最近的<td>
祖先元素,然后找到它的带有email
类名的后代元素) - Robin Zigmond