2013-11-02 82 views
1

在jQuery中,当我打电话:自动返回jQuery对象

$("selector").a_function(function(){ 
    this.toggleClass("a-class"); 
} 

据我所知,this是某种类型的,并没有提供给它的jQuery函数。问题是,我没有得到jQuery对象返回给我。我得到的方式是:

jquery_object = jQuery(this); 

每一次。我认为$()相当于调用jQuery,我应该收到一个jQuery对象。

这是正常的吗?我在这里做错了什么?

+1

这是jQuery的默认设置,如果你想要jQuery对象,你必须得到$(this) –

+1

'this'是jQuery对象表示的DOM元素 – charlietfl

回答

1

你会想要使用$(this)而不是只有this

如果你给this没有引用DOM元素。

通过将它包装在标准的JQuery选择器函数中,您实际上会调用DOM元素。

我用这很多点击处理程序。

$('a').click(function(e) { $(this).toggleClass('a-class'); });

在JQuery中几乎任何功能得到通过选择调用,并有所回调将使用这种格式。