$(this)生成的是什么?
$()生成的是什么呢?实际上$()=jquery(),就是说返回的是一个jquery的对象。
通常我们为了简便直接使用$()。实际上,该函数省略了一个参数context。根据选择器选取匹配的对象即$(selector, context),以jQuery包装集的形式返回。
context可以是Dom对象集合或jQuery包装集,传入则表示要从context中选择匹配的对象,不传入则表示范围为文档对象(即页面全部对象),即$(selector)=$(selector,document)。
this指的是,调用函数的那个html对象。
例子:
 代码如下:
$("#textbox").hover( 
 function() { 
 this.title = "Test"; 
 }, 
 fucntion() { 
 this.title = "OK”; 
 } 
);
这里的this其实是一个Html元素(textbox),this是js中的。textbox有text属性,所以这样写没什么问题。
 代码如下:
$("#textbox").hover( 
 function() { 
 $(this).title = "Test"; 
 }, 
 function() { 
 $(this).title = "OK"; 
 } 
);
这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。
结论:
  this,表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法。
  $(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。
实例(选项卡):
 代码如下:
tabs($("#nav a"), $(".content")); 
function tabs(tab, content){
 content.hide();
 content.eq(0).show();
 tab.click(function(){
 var index = tab.index(this);
 tab.removeClass("current");
 $(this).addClass("current");
 content.hide();
 content.eq(index).animate({opacity:'show'}, 200);
 });
}