我有以下内容:
<ul id ='foo'>
<li><p>hello</p></li>
<li><p>hello</p></li>
<li><p>hello</p></li>
</ul>
$('#foo').delegate('li', 'click', function(event) {
var target = $(event.target);
console.log(target);
});
只要点击其中一个内部p元素,就会调用click处理程序,以及父li元素。
无论点击哪个内部子元素,如何获取指向父li元素的指针?例如,我真正的li元素看起来像:
<li>
<p>one</p>
<div>
<p>two</p>
</div>
</li>
所以我发现我必须要有几张支票才能回到被点击的父李。有没有办法只选择类型的父类:
$('#foo').delegate('li', 'click', function(event) {
var target = $(event.target).('li');
console.log(target); // will always be parent li element itself?
});
由于
答案 0 :(得分:2)
在处理程序中,this
将引用li
元素。
$('#foo').delegate('li', 'click', function(event) {
var target = $(this);
console.log(target); // will always be parent li element itself?
});
答案 1 :(得分:0)
var target = $(this)应该是一种方式 - 这就是我通常的做法。 $(event.target).parents(“li”)将是另一个,但你可能会比你期望的更多。