每个人都知道如何通过$ .load加载Ajax请求来解决css问题?例如,如果我想从一个网页加载只是一个DIV,用我的Ajax请求后:jquery ajax加载后丢失css加载
$('container').load('path_to_div #div_id');
我失去与该div
任何想法请
相关联的所有CSS和脚本每个人都知道如何通过$ .load加载Ajax请求来解决css问题?例如,如果我想从一个网页加载只是一个DIV,用我的Ajax请求后:jquery ajax加载后丢失css加载
$('container').load('path_to_div #div_id');
我失去与该div
任何想法请
相关联的所有CSS和脚本您可以像在this answer中那样动态加载CSS,或者将它们添加到要加载div的页面的CSS文件中。
至于外部脚本,$.getScript()应该照顾你的问题。
是的,所有附加的事件处理程序将在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的内容。
我有这样的错误的解决办法是:
$('#contentPagina').load(nombrePagina,function(){ $('#contentPagina').trigger('create'); });
我一直在寻找这一个小时now.Thank你! – 2014-01-06 21:53:17
通过相关的,你的意思是“内部”的DIV(内声明的),或者您遇到这里的款式没有更多的应用和JavaScript事件是一个问题未绑定? – FMaz008 2012-02-08 14:32:59
样式和javascript不再适用 – user765368 2012-02-08 14:33:28
这可能是因为应用于另一个样式的样式不再与新元素相匹配。所以他们被忽视了。 – 2012-02-08 14:34:19