我是JS的新手。我试图在.get()成功之后更改按钮的背景颜色。
以下是示例:http://jsfiddle.net/csTpG/95/
我的代码出了什么问题?
$('.add').click(function() {
var productID = $(this).attr('name');
$.get('/',{item_id : productID}, function() {
$(this).addClass('clicked');
});
return false;
});
<button class="add">click me</button>
答案 0 :(得分:2)
您的按钮没有name
属性。
除此之外,引用$.get
回调之外的点击元素以在回调中使用它:
$('.add').click(function() {
var productID = $(this).attr('name');
// keep a reference to the element in this scope
var self = this;
$.get('/',{item_id : productID}, function() {
// use the reference in the callback
$(self).addClass('clicked');
});
return false;
});
答案 1 :(得分:0)
在$.get
回调中,this
不是您的元素。您需要先保存对this
的引用。
$('.add').click(function() {
var $this = $(this),
productID = $this.attr('name');
$.get('/',{item_id : productID}, function() {
$this.addClass('clicked');
});
return false;
});