jQuery中this与$(this)的区别

开发 前端
起初以为this和$(this)就是一模子刻出来。但是我在阅读时,和coding时发现,总不是一回事,这里就谈谈this与$(this)的区别。
jQuery中this与$(this)的区别
  1. $("#textbox").hover(   
  2.       function() {   
  3.            this.title = "Test";   
  4.       },   
  5.       fucntion() {   
  6.           this.title = "OK”;   
  7.       }   
  8. ); 

这里的this其实是一个Html 元素(textbox),textbox有text属性,所以这样写是完全没有什么问题的。
但是如果将this换成$(this)就不是那回事了,Error--报了。this与$(this)的区别在此。

  1. Error Code:   
  2. $("#textbox").hover(   
  3.        function() {   
  4.           $(this).title = "Test";   
  5.        },   
  6.        function() {   
  7.           $(this).title = "OK";   
  8.        }   
  9. ); 

这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。

JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:

正确的代码:

  1. $("#textbox").hover(   
  2.       function() {   
  3.          $(this).attr(’title’, ‘Test’);   
  4.       },   
  5.       function() {   
  6.          $(this).attr(’title’, ‘OK’);   
  7.       }   
  8. ); 

使用jQuery的好处是它包裝了各种浏览器版本对DOM对象的操作,因此统一使用$(this)而不再用this应该是比较不错的选择。

jQuery中this与$(this)的区别就介绍到这里。

本文来自RicoRui博客园文章《JQuery -- this 和 $(this) 的区别

【编辑推荐】

  1. jQuery调用WCF服务传递JSON对象
  2. 学习jQuery必须知道的几种常用方法
  3. 用XML+XSLT+CSS+JQuery组建ASP.NET网站
  4. 使用jQuery和PHP构建一个受Ajax驱动的Web页面
  5. jQuery调用WCF需要注意的一些问题
责任编辑:彭凡 来源: 博客园
相关推荐

2024-03-07 13:30:44

Java对象true

2011-11-29 09:14:48

JavaError异常

2009-06-24 08:02:15

Hibernateupdate与save

2020-07-13 14:50:51

机器学习模型算法

2014-07-24 10:00:21

2010-09-07 16:21:37

CSSDisplayVisibility

2014-07-10 11:34:05

2014-11-18 10:48:58

dockerlinuxdockerfile

2009-06-12 15:36:24

Hibernate fcreateQuery

2009-06-08 22:01:03

Java堆Java栈区别

2009-10-10 14:40:03

C++中struct

2010-09-09 11:32:26

SQL函数StDev

2010-09-16 10:29:47

DisplayVisibilityCSS

2023-08-14 10:02:46

命令Linux

2010-08-30 10:52:39

CSSclassid

2018-09-04 10:04:13

Linux命令sudo

2010-08-23 14:16:17

DIVclassid

2020-07-01 07:44:06

javaSE==equals

2021-07-02 06:54:45

GoJavachannel

2009-09-01 16:14:05

ArrayList与A
点赞
收藏

51CTO技术栈公众号