$(selector).on(事件,后代,处理程序) - 如何引用后代? $(this)获取选择器

时间:2014-11-18 18:03:21

标签: jquery

$("#wrapDiv").on( "click", ".el", function(){
   //do sth
   //how to reference .el here?
   //$(this) references #wrapDiv
})

如何在jquery on()事件中引用后代?

3 个答案:

答案 0 :(得分:1)

$(this)应该已经返回了正确的事件来源。

但是,我认为你所寻找的是事件的目标。

$("#wrapDiv").on( "click", ".el", function(event){
   //do sth
   //how to reference .el here?
   //$(this) references #wrapDiv

   //event.target references .el or anything within it
   console.log(event.target);
})

event.target返回发出点击的最低元素。

答案 1 :(得分:1)

您可能正在寻找活动的目标:

$("#wrapDiv").on( "click", ".el", function(ev){
   //do sth
   //how to reference .el here?
   $(ev.target).html("Clicked here");
})

答案 2 :(得分:0)

$(this)将引用后代,除非没有指定。

我做了一个小提琴来证明:)

HTML:

<div id="someDiv">
    <label id="I'm label">asdasd</label>
</div>

Javascript:

$('#someDiv').on('click', 'label', function(){
    alert($(this).attr('id')); 
})

Fiddle