我有以下javascript代码
$(document).on('click', $('#contact-list li'), function (e) {该列表是动态创建的,我需要函数中的单击列表项(li)作为他/她的属性,所以我首先尝试
$(e.target)但这就是李安里面的确切元素。父级的父级。
$(e.target).parent()...;最终会把我带到李,但我似乎找不到更好的方法。如果有明显的答案,请提前道歉。
发布于 2015-03-04 20:47:04
使用.closest('li')获取有问题的<li>。
http://api.jquery.com/closest
不要将jQuery对象传递给.on(),只需选择器:
$(document).on('click', '#contact-list li', callback);如果在绑定事件时存在ID为contact-list的元素,则这将工作:
$('#contact-list').on('click', 'li', callback);http://api.jquery.com/on/#direct-and-delegated-events
发布于 2015-03-04 20:50:02
如果项目是一个$(e.target).closest('li'),或者是与查询匹配的最接近的父级,那么li将返回该项。
发布于 2015-03-04 21:02:58
如果单击安莉元素(这是您对jQuery语句所做的操作),则$(this)引用将允许您访问该对象。每个人建议的.closest()都是不必要的。
$(document).on('click', '#contact-list li', function (e) {
console.log($(this));
}摆弄我:http://jsfiddle.net/sytac5zg/
https://stackoverflow.com/questions/28864545
复制相似问题