jQuery:尝试在.each函数中运行$ .get

时间:2010-11-10 15:36:22

标签: jquery

此代码确实获取具有“profileName”类的每个元素的索引值。它还使用每个索引值作为url运行$ .get。但是当我尝试将ajax响应放入每个元素时,它会失败,而“details”类是每个“profilName”div的子元素。这可行吗?

$('.profileName').each(function(index) {
    var urlVal = $(".showProfile", this).attr('profile');
    $.get(urlVal, function(data) {
        $(".details", this).html(data);
    }, "html");
});

1 个答案:

答案 0 :(得分:5)

这是因为this未在$.get() success回调中引用您想要的内容。您可以通过预先存储来修复它,如下所示:

$('.profileName').each(function(index) {
  var urlVal = $(".showProfile", this).attr('profile'),
      details = $(".details", this);
  $.get(urlVal, function(data) {
    details.html(data); 
  }, "html" ); 
});

$.get()使用下面的$.ajax()if a context option isn't specified, the ajax object itself is this in the callback