我有以下javascript代码
$(document).on('click', $('#contact-list li'), function (e) {
列表是动态创建的,我需要在我的函数中点击列表项(li)来获取他/她的属性所以首先我尝试了
$(e.target)
但这是在li里面点击的确切元素。父母的父母的父母
$(e.target).parent()...;
最终会把我带到李,但我似乎无法找到更好的方法。如果有明显的答案,请提前抱歉。
答案 0 :(得分:1)
使用.closest('li')
获取相关的<li>
。
不要将jQuery对象传递给.on()
,而只传递给选择器:
$(document).on('click', '#contact-list li', callback);
如果绑定事件时存在ID为contact-list
的元素,则可以使用:
$('#contact-list').on('click', 'li', callback);
答案 1 :(得分:0)
$(e.target).closest('li')
会返回该项目,如果它是li
,或者是与查询匹配的最近的父项。
答案 2 :(得分:0)
如果在LI元素上发生了单击,这是您尝试对jQuery语句执行的操作,那么$(this)引用将允许您访问该对象。每个人建议的.closest()是不必要的。
$(document).on('click', '#contact-list li', function (e) {
console.log($(this));
}