在.load()加载的元素上循环

时间:2011-02-21 17:33:34

标签: javascript jquery load

我正在使用.load()方法获取('document')。load()事件的一些数据,但是我无法遍历已加载内容中的元素。

这是我的代码:

$('document').ready(function() { 
    $('#questions').load('survey/questions');
    $('.questions').each(function() {
        alert($(this).attr('id'))
    })
});

谢谢!

1 个答案:

答案 0 :(得分:1)

只有在AJAX调用完成后才能遍历内容(请记住,AJAX是异步的,这意味着当您调用.load()时,该方法只是向服务器发送请求,但响应可能会更晚。)这就是为什么这个函数提供了一个回调,一旦AJAX调用完成就会被调用,你可以在那里操纵服务器的结果:

$('document').ready(function() { 
      $('#questions').load('survey/questions', function() {
          // Remark: your original selector was #questions whereas here
          // you have .questions which is not the same selector
          $('.questions').each(function() {
              alert($(this).attr('id'));
          });
      });
   });
});