是一个尝试jQuery插件开发的新手。 我试图从外部js文件(一个小插件)更改背景颜色 控制台说"未捕获TypeError:对象#没有方法' css' " 如果我完全没有跟踪,请原谅我。
HTML
<button id="clicker">change</button>
<div id='ra'>Box</div>
CSS
#ra {
height:100px;
width:100px;
background-color: #DDD;
}
JS
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 );
答案 0 :(得分:2)
在each
循环中,this
指的是本机DOM节点,而不是jQuery对象。你需要将它传递给jQuery:
return this.each (function() {
$(this).css('background-color','rgba(52,36,42,0.2)');
});
另请注意,在您的问题中,插件代码缺少左括号。我猜这只是将代码复制并粘贴到你的问题中的错误。