jquery加载问题

时间:2010-03-11 02:52:21

标签: javascript jquery

我遇到一个问题,即jquery加载函数会清除它所针对的dom元素。

popup_content.load('form.html #print_options1', function() {popup_content.fadeIn();});

当popup_content是jquery所针对的div时。之前使用jquery加载来将内容加载到此div中而没有任何问题。但这一次,整个div都消失了。

但是,如果我在该调用之后添加一个javascript警告语句,如下所示:

popup_content.load('form.html #print_options1', function() {popup_content.fadeIn();}); 
alert('after call');

然后它工作(当然,在显示令人讨厌的警报之后)。它似乎只是一些时间问题。有没有人遇到过这种问题,如果有的话,有什么解决方案吗?任何帮助,将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:0)

是否有可能重新分配popup_content引用? alert()调用会产生另一种影响,你可能没有考虑,摆脱它所需的时间允许ajax调用完成并加载内容,使function() {popup_content.fadeIn();}发生在popup_content之前} 变化。没有警报,它会在某个时间发生以后......到那时你的变量发生了什么变化?

如果是这种情况,请尝试不要依赖该引用,而是使用this

popup_content.load('form.html #print_options1', function() {
  $(this).fadeIn();
});