开发者

How do I get the clicked element with inline HTML onclick and jQuery?

I'm creating a tags with this code:

$('#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>');

excluirArquivo function

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

    alert($(this));
}

But this element insid开发者_JAVA技巧e excluirArquivo function is returning the Window object. How do I get the clicked element (a tag) inside of excluirArquivo?


If you must assign your event handler that way (that is, the "DOM 0" way, instead of with jQuery), you can do this:

<a href='#' onclick='excluirArquivo(this)' > ... </a>

Or, I suppose (given that you want to pass a parameter):

<a href='#' onclick='excluirArquivo.call(this, param)'> ... </a>

That way, "this" inside the function will be the element, which seems closer to what you want.


You need to split it, like this:

$("#td" + id).append("<p><a  href=\"#\" /></p>");

and then select the new element

$("#td > p > a").click(
function(){
//this now will be pointing to the selected element
}
)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜