【发布时间】:2016-04-28 23:30:00
【问题描述】:
我正在开发一个将一些内容加载到 div 中的页面。
我正在使用
$("#divid").load("page.php");
此页面也包含 CSS。
当我尝试使用 firebug 检查内容时出现问题,似乎多次应用了相同的 css 规则。
这是我的代码错误还是使用 jquery 时“预期”出现的错误?
我可以只加载部分代码吗?
【问题讨论】:
我正在开发一个将一些内容加载到 div 中的页面。
我正在使用
$("#divid").load("page.php");
此页面也包含 CSS。
当我尝试使用 firebug 检查内容时出现问题,似乎多次应用了相同的 css 规则。
这是我的代码错误还是使用 jquery 时“预期”出现的错误?
我可以只加载部分代码吗?
【问题讨论】:
它应该像那样工作。基本上.load() 方法将解析 HTML 并将其插入到 div 中。
jQuery 使用浏览器的 .innerHTML 属性来解析检索到的文档并将其插入到当前文档中。在此过程中,浏览器通常会从文档中过滤出
<html>、<title>或<head>等元素。因此,通过 .load() 检索到的元素可能与浏览器直接检索到的文档并不完全相同。
解决问题的最简单方法是:
$('#divURLContent').load('page.php body');
这将仅加载 page.php 的“正文”部分。一般来说,你不应该在一个 div 中加载整个页面,而应该只加载几段代码。
在这里查看更多参考:Jquery to load a page overrides my CSS
【讨论】:
是的,如果您加载了一个带有 CSS 样式的 HTML 页面,那么这些样式也将包含在您当前的页面中。
我建议您使用外部 css 文件,而不是像您目前正在做的嵌入样式
【讨论】: