我试图简单地使用jQuery向一个按钮添加一个类.但没有任何反应.为什么?
http://jsbin.com/makoxibogeje/2/edit
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<p>Press me!</p>
<button>Test</button>
<button>Fiddle</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
CSS:
.spinner { color:red;}
Run Code Online (Sandbox Code Playgroud)
使用Javascript
var B = {
btn: $("button"),
addSpinner: function() {
B.btn.click(function() {
this.addClass('spinner');
});
},
}
Run Code Online (Sandbox Code Playgroud)
在click回调函数中,this是一个DOM元素,而不是一个jQuery对象.包装它$(this)应该使addClass工作.
var B = {
btn: $("button"),
addSpinner: function() {
B.btn.click(function() {
$(this).addClass('spinner');
});
},
}
Run Code Online (Sandbox Code Playgroud)
PS这是一个证明它有效的JSFiddle.请注意,您还必须B.addSpinner();从某处调用才能连接click事件处理程序.