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 のテキスト「hello」を変更したい

強力なタグを特定できないようです。正しい値を 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理解できます。一度理解すれば、それは強力な概念です。ネットで良い記事を探してみました。Quirksmode にはがありますが、少し混乱しています。しかし、Douglas Crockfords Javascript: the good partsを心からお勧めします。

于 2009-02-19T06:48:30.470 に答える