如何找到点击的链接?

Maj*_*our 3 javascript

如何获取对单击链接的引用以删除正确的行?

<tr>
<td>c1r1</td>
<td>c2r1</td>
<td><a href="javascript:delete_row();">delete</a></td>
</tr>

<tr>
<td>c1r2</td>
<td>c2r2</td>
<td><a href="javascript:delete_row();">delete</a></td>
</tr>

function delete_row() {
    this.parent().parent().remove();
}
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用(在jquery中)

$('a').click(function() {
    this.parent().parent().remove();
}
Run Code Online (Sandbox Code Playgroud)

甚至这个

$('a').live('click', function() {
    this.parent().parent().remove();
});
Run Code Online (Sandbox Code Playgroud)

将函数绑定到动态创建的链接.

但是我正在寻找在没有jquery的情况下获得对点击链接的引用的方法.我在函数内部使用jquery ,但这不是重点.

编辑 许多人建议this在函数中使用作为参数,我已经尝试过,但它返回window:

<a href="javascript:delete_row(this);">delete</a>

function delete_row(elem) {
    console.log(elem);
}

Firebug console: Window config_maker.php
Run Code Online (Sandbox Code Playgroud)

Jos*_*ola 11

与所有其他答案相反,你无法传递this这种情况,因为那将是指window对象而不是链接.为什么?因为您没有使用事件处理程序.您正在使用该javascript:协议.不要使用它来调用您的函数,而是使用事件处理程序.更改您的链接,你会直截了当...

<a href="javascript:void(0);" onclick="delete_row(this);">delete</a>
Run Code Online (Sandbox Code Playgroud)

这仍然远非理想,因为不显眼的Javascript是现在的方式.但这至少可以让您的代码正常运行.