6

私はこれに似たHTMLを持っています:

<div class="ajax_table_container">
    <table>
        <tr>
            <td><a href="ajax.php?action=delete&id=1" class="delete_element">DELETE</a></td>
        </tr>
        <tr>
            <td><a href="ajax.php?action=delete&id=2" class="delete_element">DELETE</a></td>
        </tr>
    </table>
</div>

そしてJavaScript:

$("div.ajax_table_container").on("click", "a.delete_element", function (event) {
    var adr = $(this).attr("href");    
    $(event.delegateTarget).html("TEST");
    return false;
});

実際のアプリケーションでは、クリックしたリンクで提供されたアドレスから ajax リクエストの内容をリロードしています。

私の質問は、メインの div を取得するために私が最もよく使用している方法です( class を使用ajax_table_container)。私はフラグメントについて話している: event.delegateTarget. jQueryでそれを取得するより良い方法はありますか? (ちなみに、ここでは使いたくない$('div.ajax_table_container')- 1ページにこれらのdivがいくつかあるかもしれません)

フィドル

編集:いくつかの回答を得て、グーグルをチェックした後、私は自分自身を重複としてマークしたいと思います;-) ここ:クリックされた要素に基づいて、jquery.on('click') で親セレクターを取得する方法

4

3 に答える 3

0

ここでイベント委任を使用してイベント ハンドラーを登録しているためajax_table_container、現在呼び出されている jQuery イベント ハンドラーがアタッチされている要素を取得するための最良のオプションは、 event.delegateTargethere を使用することです。

于 2013-10-28T12:32:34.163 に答える