博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery -- this 和 $(this) 的区别
阅读量:6862 次
发布时间:2019-06-26

本文共 861 字,大约阅读时间需要 2 分钟。

起初以为this和$(this)就是一模子刻出来。但是我在阅读时,和coding时发现,总不是一回事。

What is "this"?

In many object-oriented programming languages, this (or self) is a keyword which can be used in instance methods to refer to the object on which the currently executing method has been invoked.

 

$("#textbox").hover( 

      function() { 
          
this.title = "Test"
      }, 
     
fucntion() { 
         
this.title = "OK”; 
  
    } 
);
这里的this其实是一个Html 元素(textbox),textbox有text属性,所以这样写是完全没有什么问题的。
但是如果将this换成$(this)就不是那回事了,Error--报了。

Error Code:

$("#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应该是比较不错的选择。

参考:

 

转载地址:http://uoqyl.baihongyu.com/

你可能感兴趣的文章
Python 文件I/Oday14
查看>>
回忆Spring IOC 几个注解&简单示例
查看>>
及时更新网卡驱动可使无线网络更稳定
查看>>
在if中赋值,但在if外却提示“使用了未赋值的局部变量”
查看>>
MapReduce源码之OutputFormat
查看>>
资质申报 - 系统集成企业资质等级评定条件实施细则
查看>>
近一个月的面试总结
查看>>
eclipse安装插件
查看>>
perl 非贪婪正则匹配 mysql 导出指定字段
查看>>
Android状态栏黑色字体
查看>>
MySQL主从复制之主库宕机处理
查看>>
Spring Cloud Eureka 源码分析(二) 客户端启动过程
查看>>
LAMP
查看>>
常用的持续集成工具
查看>>
我的友情链接
查看>>
在ubuntu上面安装LAMP遇到的若干问题
查看>>
基于 Quartz 开发企业级任务调度应用
查看>>
hibernate flush 缓存
查看>>
文件共享服务之vsftpd
查看>>
入库加入销售专项属性
查看>>