【发布时间】:2012-04-01 22:56:59
【问题描述】:
是的,我知道,这个标题并没有真正的帮助,但这正是问题所在。出于某种原因(我不知道),我无法在 AJAX-Request 的 beforeSend 函数中操作我的 HTML。
这是 HTML:
<div class="right">
<span id="observer-eye" original-title="Observe this Summoner" data-id="2">
<img alt="" src="/lolreports/img/icons/observer_eye.png">
</span>
</div>
这是 AJAX 请求:
$.ajax({
type: 'post',
dataType: 'json',
url: webroot + 'summoners/observe',
data: 'data[Summoner][id]=' + id,
beforeSend: function(XMLHttpRequest) {
$(this).parent().empty();
},
success: function(data) {
if(data.status == 'success') {
$(this).find('img').attr("src", webroot + 'img/icons/observed_eye.png"');
}
}
});
我的目标是将一个 ajax-loader.gif 放在我想用 $(this).find('img').attr("src", webroot + 'img/icons/ajax 做的 -Tag -loader.gif"'); - 什么也没发生。我测试了很多方法来操纵图像或跨度,但什么也没发生。我想知道 beforeSend 是否会被执行,我用 alert()。它有效。但没有 DOM 操作。
我不知道在哪里搜索,希望你能帮助我。
【问题讨论】:
-
$(this)在您的beforeSend处理程序中指的不是您的想法。用console.log(this);检查它 -
是什么触发了这个 AJAX 调用?你能放吗?
标签: jquery