jQuery每个函数都没有通过$ .post请求在动态加载的内容中执行

时间:2016-09-20 08:50:38

标签: javascript jquery ajax

我试图循环遍历通过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函数?

2 个答案:

答案 0 :(得分:0)

为什么不试试这个:

var items = $('.hotel-rate');
$.each(items, function (index, value) {........

就像在jQuery API documentation

中解释的那样

答案 1 :(得分:0)

您是否尝试在填充后填写作业清单对象?

$.post(ajax_url, {action: 'filter-search-results', term_id: term_id}, function (res) {
    var $jobs = $('.job_listings').html(res);
    $jobs.find('.hotel-rate').each(function (i, obj) {
        //...