$(this)vs jQuery中的这个

时间:2010-08-03 19:21:35

标签: jquery

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();
     });
   });
 });

3 个答案:

答案 0 :(得分:10)

“this”变量引用(在这种情况下为您提供的事件处理程序)到DOM元素。因此$(this)是一个只包含一个DOM元素的jQuery对象。

当本机DOM API足够时,你应该使用普通的“this”,当你需要jQuery的帮助时,你应该使用$(this)。你的第二个例子是一个很好的例证;另一个可能是你只需要一个元素的“id”或“name”。

答案 1 :(得分:9)

不同之处在于this本身是对事件所作用的dom对象的引用。 $(this)正在从该dom对象创建一个jquery对象。

编辑:所以使用DOM对象,您将无法访问所有jquery添加的功能,而只能访问dom允许的内容。基本上你可以认为this本身就像你document.getElementById(id)

一样

答案 2 :(得分:8)

$(this)是一个jquery对象,而this是指本机dom对象