JQuery

1个成员

jquery的this和$(this)区别分析

发表于 2017-02-14 3387 次查看
通常我们为了简便直接使用$(),实际上,该函数省略了一个参数context,即$(selector)=$(selector,document).如果指定context,可以指定context为一个dom元素集或者jquery对象。那么依照,$()返回的是jquery对象这一结论,我们可以得出$(this)得到的是一个jquery对象.我们可以使用万能的alert()方法打印出一个对象:

通常我们为了简便直接使用$(),实际上,该函数省略了一个参数context,即$(selector)=$(selector,document).如果指定context,可以指定context为一个dom元素集或者jquery对象。
那么依照,$()返回的是jquery对象这一结论,我们可以得出$(this)得到的是一个jquery对象.我们可以使用万能的alert()方法打印出一个对象:
alert($(‘#btn’));显示的结果:是一个object,不用考虑,该object自然是jquery的对象咯。也即是说我们用通过$(‘#btn’)来调用jquery的方法和属性等

今天用了jquery,感觉总是怪怪的。

  一开始,以为this就是当前匹配的元素,可以直接用this来调用this.css教程('css');结果没反应。依稀记得书上这样写$(this).css('css'),对了。

  然后调试的时候想看目前匹配的元素是哪个,用了$(this).id,结果是undefined,换了this.id对了。

  这时候才茫然反应过来,this是网页特效里定义的,代表的就是目前的元素,而css这些是jquery定义的属性方法,所以必须是jquery对象才可以。而$(this)就是获得目前匹配的元素的DOM对象,所以就可以调用jquery定义的属性方法...

$(this)生成的是什么
$()生成的是什么呢?实际上$()=jquery(),那么也就是说返回的是一个jquery的对象。
题外话:通常我们为了简便直接使用$(),实际上,该函数省略了一个参数context,即$(selector)=$(selector,document).如果指定context,可以指定context为一个dom元素集或者jquery对象。

那么依照,$()返回的是jquery对象这一结论,我们可以得出$(this)得到的是一个jquery对象.我们可以使用万能的alert()方法打印出一个对象:
alert($('#btn'));显示的结果:
 该图红色框勾选出来的是一个object,不用考虑,该object自然是jquery的对象咯。也即是说我们用通过$('#btn')来调用jquery的方法和属性等。
 
this代表什么?
this,编程的人都知道this表示上下文所处的这个对象,这个自然是不错的,可是这个对象到底是个什么对象呢?加入js里面也有getType的话返回的值会是什么呢

$('#btn').bind("click",function(){

alert(this);
alert($(this));
});

发表回复
你还没有登录,请先登录注册