• jQuery中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应该是比較不错的选择。



  • 相关阅读:
    eslint 翻译
    .prettierrc
    轻松掌握golang的defer机制
    golang的逃逸分析
    《python解释器源码剖析》第17章--python的内存管理与垃圾回收
    《python解释器源码剖析》第16章--python的多线程机制
    《python解释器源码剖析》第15章--python模块的动态加载机制
    MongoDB:最受欢迎的文档型数据库
    (持续更新中)opencv:处理图像的高性能模块
    (写了一点写不下去了,虽然垃圾但又不想扔)nginx--最流行的web服务器
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10677450.html
  • Copyright © 2020-2023  润新知