2010-08-03 182 views
5

jQuery中的$(this)this有什麼區別?這裏有兩種不同的用途:

$(document).ready(function() { 
    $("#orderedlist").find("li").each(function(i) { 
    $(this).append(" BAM! " + i); 
    }); 
}); 


$(document).ready(function() { 
    // use this to reset several forms at once 
    $("#reset").click(function() { 
    $("form").each(function() { 
     this.reset(); 
    }); 
    }); 
}); 

回答

10

「this」變量指向(在這種情況下,你提供的事件處理程序)給DOM元素。因此$(this)是一個只包含一個DOM元素的jQuery對象。

當本機DOM API足夠時,您應該使用普通的「this」,當您需要jQuery的幫助時使用$(this)。你的第二個例子是一個很好的例子。另一個可能是當你只需要元素的「id」或「name」。

9

所不同的是this本身是該事件時作用在DOM對象的引用。 $(this)正在從該dom對象創建一個jquery對象。

編輯:所以與DOM對象,你不會有權訪問所有的jQuery添加功能,但只有dom允許。基本上你可以認爲this本身就像你一樣document.getElementById(id)

+0

「'this' _by本身就是對DOM對象的事件採取行動upon_參考」,迄今結識最美麗的定義'這',豎起大拇指哥們:)! – Irfan 2017-11-21 06:33:32

8

$(this)是一個jQuery對象,而this是指原生DOM對象

相關問題