0

使用 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>

我想以某种方式使用 data.Message 更改 mycallback 中的文本“你好”

我似乎无法确定强标签,我也不确定我是否将正确的值传递给 mycallback !

4

1 回答 1

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-operator,这是可以理解的。一旦理解,这是一个强大的概念。我试过在网上找到一篇好文章。Quirksmode 有一个,但它也有点混乱。然而,我可以衷心推荐 Douglas Crockfords Javascript:好的部分

于 2009-02-19T06:48:30.470 回答