我可以使用它来引用委托元素的选择器吗?

时间:2014-02-27 10:40:28

标签: javascript jquery

例如:

$('#enquiry-form').on('click','.close', function(){ 
    $(this)..code..
});

$(this)会引用'.close',但有没有办法以与使用javascript的$('#enquiry-form')this类似的方式引用$(this)

5 个答案:

答案 0 :(得分:1)

是的,您可以使用$(this).parent(). ...

来推荐它

答案 1 :(得分:1)

您可以使用event.delegateTarget获取委派的目标。

<强> Live Demo

$('#enquiry-form').on('click','.close', function(event){ 
     alert($(event.delegateTarget)[0].id);
});
  

此属性最常用于附加的委派事件   .delegate()或.on(),其中事件处理程序附加在   正在处理的元素的祖先。它可以用于,例如,   在委派点jQuery Doc识别和删除事件处理程序。

答案 2 :(得分:0)

如果您有多个具有相同选择器的父dom(比如classname enquiry-form),则可以将.closest()this一起使用:

$(this).closest('.enquiry-form');//would be $(this).closest('#enquiry-form') in your case

但由于ID是唯一的,您可以简单地使用:

$('#enquiry-form')

答案 3 :(得分:0)

您可以使用parentsclosest

 $(this).parents('#enquiry-form')

 $(this).closest('#enquiry-form')

答案 4 :(得分:0)

当然,您必须以这种方式调用您的代码:

$('#enquiry-form').on('click','.close', function(){ 
    $(this).parent().code..
});

DEMO