我遇到一个问题,jquery 加载函数清除了它所针对的 dom 元素。
popup_content.load('form.html #print_options1', function() {popup_content.fadeIn();});
当 popup_content 是 jquery 定位的 div 时。之前使用 jquery load 将内容加载到此 div 中没有出现问题。但这一次,整个 div 就消失了。
但是,如果我在该调用之后添加一个 javascript 警报语句,如下所示:
popup_content.load('form.html #print_options1', function() {popup_content.fadeIn();});
alert('after call');
然后它就可以工作了(当然,在显示烦人的警报之后)。这似乎只是一些时间问题。有人遇到过这种问题吗?如果有,有什么解决办法吗?任何帮助,将不胜感激!谢谢!
最佳答案
是否有可能重新分配popup_content
引用? alert()
调用还有另一个您可能没有考虑到的效果,摆脱允许 ajax 调用完成并加载内容所需的时间,从而使 function() {popup_content.fadeIn();}
发生在 popup_content
更改之前。如果没有警报,它会在稍后某个发生...到那时你的变量发生了什么事情吗?
如果是这种情况,请尝试不要依赖该引用,而是使用 this
:
popup_content.load('form.html #print_options1', function() {
$(this).fadeIn();
});
关于javascript - jquery加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2422210/