对于this和$(this)的个人理解
程序员文章站
2024-01-09 19:00:16
代码如下:
jQuery.prototype.test=function(){
this.css("color","#99");//...
代码如下:
jQuery.prototype.test=function(){
this.css("color","#99");//这里的this是jquery对象,而不是dom对象
alert(this[0]);//这里的this[0]指的是dom节点对象
}
. 代码如下:
$("body").click(function(){
$(this).test();
$(this).test().html(this.nodeName).hide(10000);
})
在页面上使用click方法的时候相当于new了一个Jquery对象然后调用他的click方法,方法里面的参数是一个javascript的function函数,里面的this指的是javascript对象,this是javascript自身的 语法关键字,它指向一个javascript对象,所以可以使用所指向的目标javascript对象所拥有的方法
而jQuery.prototype.test相当于在就query对象中新建一个test的方法,所以里面的this理所应当的就是就jquery对象
通过this[0]可以把jquery对象转化成dom节点对象
因为this永远指向调用该方法(函数)的那个对象(call,apply方法除外)
推荐阅读
-
对于this和$(this)的个人理解
-
深入理解PHP中的基本语法和目录结构
-
关于db_block_size的理解和实验
-
不可重入锁和可重入锁的理解
-
深度学习——深入的理解基于飞桨的研发和调参数
-
python中subprocess包的理解和典型应用
-
生命在于运动的理解 理解和运用PHP中的多态性[译]
-
powerpoint2003官方下载免费完整版 php中理解print EOT分界符和echo EOT的用法区别小结
-
laravel中的Facades和Ioc Container怎么理解?
-
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别,emptyisset