我是Javascript的新手,并试图设计一个表单,其中包含通过链接点击创建和删除的元素,而无需提交表单。
该脚本取决于获取单击按钮(css和<a>
链接)的唯一ID,并计算包含该链接的行的ID,然后删除整个<tr>
元素。 / p>
为此,我正在尝试获取点击链接的ID。链接及其嵌入的元素本身是通过javascript点击另一个按钮生成的。
我尝试了以下内容:
var btnDel=document.createElement("a");
btnDel.id="NS_D"+count;
btnDel.className="btn btn-danger";
btnDel.addEventListener('click', function()
{
alert(e.id);
}, false);
var btnText=document.createElement("span");
btnText.className="btn-label";
btnText.innerHTML="Delete";
btnDel.appendChild(btnText);
td.appendChild(btnDel);
虽然生成了按钮,但我没有按预期收到警报。哪里可以出错?
答案 0 :(得分:2)
在事件处理程序中,this
引用该元素,因此您可以执行以下操作:
alert(this.id);
要转到<tr>
,您可以使用parentNode
:
console.log(this.parentNode.parentNode);
答案 1 :(得分:2)
您需要使用this
而不是e
:
alert(this.id);
在您的事件处理程序中。
(您还需要习惯使用控制台运行代码 - 这会告诉您,您没有看到alert
的原因是e
不存在。 )