我在这里努力想弄清楚为什么这不起作用,所以我终于创建了我在 jsFiddle 上的简化版本,当然它在那里工作。
我在做什么 - 一个简单的 AJAX 调用,将鼠标悬停在一个元素上,并将该响应放在一个 DIV 中。这是我网站上不起作用的代码...
HTML
<div class="profileimage">
<a href="#">
<img src="/profilepics/img.jpg" />
<p>Test Here</p>
</a>
<div class="profileInfo"></div>
</div>
jQuery
$(document).ready(function() {
$('.profileimage').hover(function() {
$.ajax({
url:"getProfile.php",
success:function(HTML){
$(this).find('.profileInfo').html(HTML);
}
});
});
});
此外,作为参考,目前getProfile.php中的所有内容是:
<p>RESULTS FROM AJAX</p>
起作用的是 AJAX 请求发生,结果返回正常。如果我将成功函数中的行替换为alert(HTML)
,我可以看到响应。不起作用的是响应永远不会进入profileInfo
子元素。
我认为我的定位器不正确,所以我创建了一个 jsFiddle ( HERE ) 来测试。事实证明,定位器工作得很好。
所以我想我的问题是......如果定位器在 jsFiddle 中工作正常,但在 AJAX 请求中没有工作......是否有关于它在 AJAX 调用中的使用方式需要更改?我不明白为什么$(this).find('.profileInfo').html(HTML);
不管我是否在 AJAX 响应中使用它都不能正常工作。
任何想法/建议表示赞赏...