更改背景颜色的基本jQuery插件

更改背景颜色的基本jQuery插件,jquery,jquery-plugins,Jquery,Jquery Plugins,我是一个新手,正在尝试jQuery插件开发。 我正在尝试更改外部js文件(一个小插件)的背景色 控制台显示“未捕获的TypeError:Object”没有方法“css” 如果我完全偏离了轨道,请原谅 HTML JS 这是我的插件 function( $, window, document, undefined ) { $.fn.change = function( options ) { return this.each (function() {

我是一个新手,正在尝试jQuery插件开发。 我正在尝试更改外部js文件(一个小插件)的背景色 控制台显示“未捕获的TypeError:Object”没有方法“css” 如果我完全偏离了轨道,请原谅

HTML

JS

这是我的插件

function( $, window, document, undefined ) { 
    $.fn.change = function( options ) {
        return this.each (function() { 
            this.css('background-color','rgba(52,36,42,0.2)');
        });
    };
})( jQuery, window, document );

每个
循环中,
引用本机DOM节点,而不是jQuery对象。您需要将其传递到jQuery:

return this.each (function() { 
    $(this).css('background-color','rgba(52,36,42,0.2)');
});
还要注意,在您的问题中,插件代码缺少左括号。我猜这只是在问题中复制和粘贴代码的错误


这是一张支票。

谢谢。现在,错误消失了,但单击按钮时bg颜色没有改变。
var $ra = $('#ra');
$('#clicker').on('click',function(){
    $ra.change()
});    ​
function( $, window, document, undefined ) { 
    $.fn.change = function( options ) {
        return this.each (function() { 
            this.css('background-color','rgba(52,36,42,0.2)');
        });
    };
})( jQuery, window, document );
return this.each (function() { 
    $(this).css('background-color','rgba(52,36,42,0.2)');
});