jQuery中this和$(this)有哪些区别
小编给大家分享一下jQuery中this和$(this)有哪些区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
成都创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为岑巩企业提供专业的成都网站建设、成都网站制作,岑巩网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
区别:this表示当前的上下文对象是一个html DOM对象,可以调用html对象所拥有的属性和方法;而“$(this)”代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。
jquery中this与$(this)的用法区别.先看以下代码:
$("#textbox").hover( function() { this.title = "Test"; }, fucntion() { this.title = "OK”; } );
这里的this其实是一个Html 元素(textbox),textbox有text属性,所以这样写是完全没有什么问题的。 但是如果将this换成$(this)就不是那回事了,就会报错了。 以下写法是错误的:
$("#textbox").hover( function() { $(this).title = "Test"; }, function() { $(this).title = "OK"; } );
这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。 JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:
$("#textbox").hover( function() { $(this).attr('title', 'Test'); }, function() { $(this).attr('title', 'OK'); } );
使用JQuery的好处是它包裝了各种浏览器版本对DOM对象的操作,因此统一使用$(this)而不再用this应该是比较不错的选择。
$()
生成的是什么呢?实际上$()=jquery()
,那么也就是说返回的是一个jquery
的对象。
$(this)
是jquery
对象,能调用jquery
的方法,例如click()
, keyup()
。
$(function () { $('button').click(function () { alert(this);//this 表示原生的DOM //$(this)表示当前对象,这里指的是button }) });
结论:this
,表示当前的上下文对象是一个html DOM
对象,可以调用html
对象所拥有的属性,方法。$(this)
,代表的上下文对象是一个jquery
的上下文对象,可以调用jquery
的方法和属性值。
看完了这篇文章,相信你对jQuery中this和$(this)有哪些区别有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
新闻名称:jQuery中this和$(this)有哪些区别
本文链接:http://hbruida.cn/article/ihhedo.html