search

Home  >  Q&A  >  body text

jQuery中$this和$(this)的区别是什么?

jQuery中$this和$(this)的区别是什么?

大神,求带!大神,求带!2859 days ago1093

reply all(2)I'll reply

  • 数据分析师

    数据分析师2017-10-01 00:37:32

    What is the difference between $this and $(this) in jQuery? -PHP Chinese website Q&A-What is the difference between $this and $(this) in jQuery? -PHP Chinese website Q&A

    Let’s take a look and learn.

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-03-02 09:38:20

    // this其实是一个Html 元素。
    // $this 只是个变量名,加$是为说明其是个jquery对象。
    // 而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作。
    (function($){
        $.fn.hilight = function(options){
        debug(this);
        var defaults = {
           foreground: 'red',
           background: 'yellow'
        };
        var opts = $.extend({}, $.fn.hilight.defaults, options);
        return this.each(function() {
          // this其实是一个Html 元素。
          // $this 只是个变量名,加$是为说明其是个jquery对象。
          // 而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作。
             $this = $(this);
            // build element specific options
            var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
            // update element styles
            $this.css({
                 backgroundColor: o.background,
                 color: o.foreground
             });
              var markup = $this.html();
             // call our format function
              markup = $.fn.hilight.format(markup);
              $this.html(markup);
          });
       };
       // define our format function
       $.fn.hilight.format = function(txt) {
              return '<strong>' + txt + '</strong>';
        };
        // 插件的defaults
        $.fn.hilight.defaults = {
            foreground: 'red',
            background: 'yellow'
        };
        function debug($obj) {
           if (window.console && window.console.log){
               window.console.log('hilight selection count: ' + $obj.size());
           }
        };
    })(jQuery)


    reply
    0
  • Cancelreply