首页 > 代码库 > jQuery中$this和$(this)的区别介绍

jQuery中$this和$(this)的区别介绍

// 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)

 

jQuery中$this和$(this)的区别介绍