Вам нужно сохранить значение this
прямо внутри вашего each
обратного вызова.
$("#hello").each(function() {
var that = this;
$.ajax({
url: "www.mysite.com/mypage",
success: function(d) {
hello.call(that);
}
});
})
Кроме того, вы должны проверить значение d
по-другому; либо
if (typeof d === 'undefined' && d !== '') ...
или просто
if (d) ...
Редактировать 1: Это должно сработать, предполагая, что единственная проблема, с которой вы столкнулись, это получение правильного значения this
:
$("div.MicrodualGetAd").each(function() {
var $this = $(this);
configs.connection.data.adget_id = $this.attr("rel");
configs.connection.data.client_action = "view";
configs.connection.data.success = function(d, s, r) {
$this.hide();
alert("'OK'");
if (d.hackattemp.status) {
MicrodualGetAdLog("MicrodualGetAd-Error: " + d.hackattemp.msg + "\n");
$this.append(d.hackattemp.msg);
}
}
$.ajax(configs.connection);
});