jQuery中$this和$(this)的区别介绍(一看就懂)

时间:2021-1-8 作者:admin
// 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)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。