2009-02-19 36 views
0

使用jQuery,我結合一些圖片標籤與click事件是這樣的:整蠱jQuery的操作,不知道如果我使用「這個」屬性要麼

$('.imageClass > a > img').bind('click', onImageClick); 

this.onImageClick = function() { 
    $.post("/blah/123", { test : 'a' }, function(data) { myCallback(this, data); }, "json"); 
} 

this.myCallback(event, data) { 
    alert($(event).parent.attr("href")); 
}; 

我的DOM看起來是這樣的:

<div class="imageClass"> 
    <a href="#"><img src="/images/1.jpg" alt="1"></a> <strong>hello</strong> 
    <a href="#"><img src="/images/2.jpg" alt="2"></a> 
</div> 

我想改變myCallBack函數文本「你好」莫名​​其妙使用data.Message

我似乎無法針點的強標記,我不知道如果我將正確的值傳遞給mycallback!

+0

當你運行它時,msgbox會說什麼? – CVertex 2009-02-19 06:47:31

回答

2

要更改強烈文本從AjaxCall的數據,試試這個:

$(".imageClass > a > img").click(on_image_click); 

function on_image_click() { 
    var image = this, strong = image.parent().next(); 
    $.getJSON("/blah/123", {test: 'a'}, function (data) { 
     strong.text(data.Message); 
    }); 
} 

好像你有一些不瞭解如何使用this - 運算符,這是可以理解的。一旦理解,這是一個強大的概念。我試過在網上找到一篇好文章。 Quirksmode has one,但它也有點困惑。然而,我可以衷心推薦Douglas Crockfords Javascript: the good parts

相關問題