在jquery ajax加载后丢失css

时间:2012-02-08 14:31:09

标签: php ajax jquery-ui jquery

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

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

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

请知道

4 个答案:

答案 0 :(得分:1)

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

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

如果没有看到您的HTML / CSS,就无法分辨。

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

解决方案出现了错误:

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

答案 3 :(得分:0)

您可以像在this answer中一样动态加载CSS,或者将它们添加到您正在加载div的页面的CSS文件中。

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