$(this)vs jQuery中的这个

pen*_*uru 5 jquery

$(this)thisjQuery有什么区别?这有两种不同的用法:

 $(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();
     });
   });
 });
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 10

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

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


spi*_*non 9

不同之处在于this,它本身是对事件所依据的dom对象的引用.$(this)从该dom对象创建一个jquery对象.

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


Gio*_*rgi 8

$(this)是一个jquery对象,同时this引用本机dom对象