動的ロードされたコンテンツとして返される要素をajax $.post
メソッドでループしようとしています。コードは次のとおりです。
$.post(ajax_url, {action: 'filter-search-results', term_id: term_id}, function (res) {
$('.job_listings').empty();
$('.job_listings').html(res);
$('.hotel-rate').each(function (i, obj) {
//...
ただし、each
機能は実行されていません。
私はbody
のクリックイベントをトリガした場合、それは動作します:
$.post(ajax_url, {action: 'filter-search-results', term_id: term_id}, function (res) {
$('.job_listings').empty();
$('.job_listings').html(res);
$(document).on('click', 'body', function() {
$('.hotel-rate').each(function (i, obj) {
//...
それは正常に動作します。しかし、私はeach
をどんなイベントでもバインドしたくありません。イベントをトリガーすることなくeach
関数を実行するにはどうすればよいですか?あなたはこれをしようとしないのはなぜ
投稿の結果の中でループしようとしている '.hotel-rate'要素はありますか?そうであれば$(res)オブジェクトにあり、$オブジェクトにはありません – Draykos
はい、投稿の結果です。投稿要求からの応答後、HTMLコンテンツが変更されます。ここで 'res'は' HTML'コンテンツのみを生成します。 – user3384985
質問の説明を編集しました – user3384985