我有一个与此类似的HTML:
和javascript:
$("div.ajax_table_container").on("click","a.delete_element",function (event) {
var adr = $(this).attr("href");
$(event.delegateTarget).html("TEST");
return false;
});
在实际应用中,我正在从点击的链接中提供的地址重新加载ajax请求的内容.
我的问题是,我正在使用最好的方法获得主div(使用类ajax_table_container).我在谈论片段:event.delegateTarget.有没有更好的方法在jQuery中获取它? (顺便说一下.我不想在这里使用$(‘div.ajax_table_container’) – 在一个页面上可能有几个这样的div)
编辑:在得到一些答案并检查谷歌后,我想将自己标记为重复;-)这里:How to get parent selector with jquery.on(‘click’),base on the clicked element
最佳答案
如果你的目标是获得你挂钩活动的元素,那么这不仅是你最好的选择,而且几乎是你唯一的选择.
另一个我不提倡的选项是记住你在事件处理程序关闭的变量中使用的内容:
var $container = $("div.ajax_table_container");
$container.on("click",function (event) {
var adr = $(this).attr("href");
$container.html("TEST");
return false;
});
但是,由于jQuery为您提供了方便的delegateTarget
,这就是我使用的,除非有充分的理由使用其他东西.将元素引用(而不是选择器)传递给$()的成本根本不是很大,很可能你在处理程序中做的任何事情都会消除它添加的任何开销.
原文链接:https://www.f2er.com/jquery/428731.html