繁体   English   中英

在jquery ajax加载后丢失css

[英]losing css after jquery ajax load

在使用$ .load的Ajax请求之后,每个人都知道如何解决css的问题吗? 例如,如果我想从网页加载一个DIV,在我的Ajax请求之后:

$('container').load('path_to_div #div_id');

我丢失了与该div相关的所有css和脚本

请问任何想法

我遇到了错误,解决方案是:

$('#contentPagina').load(nombrePagina,function(){ $('#contentPagina').trigger('create'); });

是的,当AJAX替换内容时,任何附加的事件处理程序都将断开连接。 您可以使用jQuery的.on().live()作为替代事件挂钩来防止这种情况。

对于CSS,您可能在替换内容上缺少原始内容的类名或ID,或者替换的内容与您在CSS中设置的相同选择器不匹配。

没有看到你的HTML / CSS就无法分辨。

在CSS文件中包含元素(及其子元素)的所有CSS,该文件包含在您要加载到的主页面中。 因此,如果你有main.html ,并且你正在将#div_id div加载到该页面中,那么你需要在main.html包含#div_id的CSS。

您还需要包含一个可以委托事件处理程序的脚本,例如.delegate() (对于1.7之前的jQuery版本)或.on() (对于jQuery 1.7+),加载到AJAX加载的内容。

你可以像在这个答案中一样动态加载CSS,或者将它们添加到你正在加载div的页面的CSS文件中。

至于外部脚本, $ .getScript()应该解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM