zoukankan      html  css  js  c++  java
  • jquery中this与$(this)的用法区别

    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的方法和属性值。

  • 相关阅读:
    Java数据类型+练习
    在vue中使用echars不能自适应的解决方法
    使用js将Unix时间戳转换为普通时间
    vue-router2.0二级路由的简单使用
    vue父组件向子组件传递参数
    vue子组件向父组件传递参数的基本方式
    vuex----mutation和action的基本使用
    vuex----------state的基础用法
    数组判断重复
    在vue项目中快速使用element UI
  • 原文地址:https://www.cnblogs.com/xutao1517588477/p/10871216.html
Copyright © 2011-2022 走看看