如何使用内联HTML onclick和jQuery获取单击的元素?

Tho*_*mas 3 javascript jquery events onclick this

我正在用这段代码创建一个标签:

$('#td' + id).append('<p><a href="#" onclick="excluirArquivo(\'' + response + '\'); return false;"><img src="/erp/proposta/media/images/delete.png" alt="Excluir arquivo" /></a> ' + file + '</p>');
Run Code Online (Sandbox Code Playgroud)

excluirArquivo功能

function excluirArquivo(arquivo) {
    $.ajax({
        type: 'POST',
        url: '/erp/proposta/index.php/arquivo/remover/' + arquivo
    });

    alert($(this));
}
Run Code Online (Sandbox Code Playgroud)

但是excluirArquivo函数里面的这个元素正在返回Window对象.如何获取excluirArquivo中的单击元素(标记)?

Poi*_*nty 9

如果必须以这种方式分配事件处理程序(即"DOM 0"方式,而不是jQuery),则可以执行以下操作:

<a href='#' onclick='excluirArquivo(this)' > ... </a>
Run Code Online (Sandbox Code Playgroud)

或者,我想(假设您要传递参数):

<a href='#' onclick='excluirArquivo.call(this, param)'> ... </a>
Run Code Online (Sandbox Code Playgroud)

这样,函数内部的"this"将是元素,它看起来更接近你想要的.