2013-11-02 45 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中幾乎任何功能得到通過選擇調用,並有所回調將使用這種格式。