2013-03-22 48 views
0

data通過ajax得到somevalyes如何存儲類Ajax響應,當我們點擊該元素

我在班級storeing數據再次獲取數據class="' + data + '"

$.each(response.d, function (i, data) { 
        var id = data.Soid; 
        var title = data.Name; 
        debugger; 
        $("#ulAchievementCarousel").append('<li id="' + id + '" title="' + title + '"><img src="../Images/DefaultImage.png" class="' + data + '" /><img src="../Images/trashIcon.png" class="trash" /></li>'); 
       }); 

現在我想當我點擊圖片這些數據: -

$("#ulAchievementCarousel img[src='../Images/DefaultImage.png']").live("click", function() { 
     var str = $(this).attr('class'); 

並從該類agian獲取價值,要顯示這樣的事情

var id = str.Soid; 
var title = str.Name; 

,但問題是,當我從類STR獲得,價值:[object Object]

+1

使用'.data()'將數據存儲在DOM元素中,而不是class。這不是什麼課程的目的!另外,使用'.on()'而不是'.live()'來綁定事件。 – 2013-03-22 13:09:27

+0

好的,你可以建議我任何不存儲類的替代方法,謝謝 – 2013-03-22 13:13:15

+0

我剛剛做到了。使用[.data()](http://api.jquery.com/data/) – 2013-03-22 13:14:29

回答

0

您可以使用.data()作爲一個地方存儲在一個DOM元素的任意數據:

var data = { foo: "bar" }; 
$("#myElement").data("stuff",data); 

你可以檢索它後來是這樣的:

var data = $("#myElement").data("stuff"); 
console.log(data.foo);  // writes "bar" in the console. 

這裏是一個非常簡單的fiddle來演示。

+0

好吧,馬特,但問題是爲什麼我得到像這樣的價值:[對象對象],當我我回顧了數據 – 2013-03-22 13:23:51

+0

@NestorC:是的,因爲它是一個對象。如果你alert(someObject)',大多數瀏覽器都會顯示'[object Object]',因爲這是默認的'.toString'方法。嘗試訪問它的屬性,就像我在我的例子中那樣。 – 2013-03-22 13:25:58

相關問題