如何获取对单击链接的引用以删除正确的行?
<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是现在的方式.但这至少可以让您的代码正常运行.
| 归档时间: |
|
| 查看次数: |
1772 次 |
| 最近记录: |