私は現在のページにいくつかのHTMLを追加する典型的なAJAX呼び出しを持っています。私は典型的なjQueryセレクタを使って新しく挿入されたHTMLにアクセスしたいと思っています。AJAX呼び出し後のDOMオブジェクトへのアクセス?
ここ
$.ajax({
url: url,
success: function(data) {
$('body').append(data);
}
});
$('#new_div').show();
#new_div
...私が行うことができるようにようをいただきたいものだが、私が取得したデータからいくつかのHTML要素になります。必ずしも新しい要素(click
など)にイベントを添付する必要はありません。したがって、または.on()
のようなものを使用すると、私の知る限りはここでは機能しません。
$.ajax()
という変数を呼び出してみましたが、var new_div = $.ajax(...)
という名前のコールはどこにも届きませんでした。あなたがコールバックからあなたのコードを分離する場合
$.ajax({
url: url,
success: function(data) {
$('body').append(data).find('#new_div').show();
}
});
A)あなたは確認しましたオブジェクトを取得し確認します偽
への非同期の設定を有効にお使いajaxリクエストは実際に動作します(デベロッパーコンソール、アラート、ファイアバグあり)。b)出力は何ですか? – DanFromGermany
うん、要求は正常に動作します。成功呼び出しの外で新しいDOM要素にアクセスしようとしたときの出力は定義されていません。 – Shpigford
AJAXは非同期なので、 'new_div'はまだ追加されていません –