使用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中的文本'hello'
我似乎无法确定强标记,并且我不确定我是否将正确的值传递给mycallback!
答案 0 :(得分:2)
要使用ajaxcall中的数据更改strong文本,请尝试以下操作:
$(".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。