2011-12-01 74 views
0

我是JS的新手。 .get()成功後,我試圖更改按鈕的背景顏色。.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> 

回答

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; 
}); 
0

裏面的$.get回調,this是不是你的元素。您首先需要保存對this的引用。

$('.add').click(function() { 
    var $this = $(this), 
    productID = $this.attr('name'); 
    $.get('/',{item_id : productID}, function() { 
     $this.addClass('clicked'); 
    }); 
    return false; 
});