【问题标题】:JQuery asynchronous load only part of the documentJQuery 异步加载仅文档的一部分
【发布时间】:2016-04-28 23:30:00
【问题描述】:

我正在开发一个将一些内容加载到 div 中的页面。

我正在使用

$("#divid").load("page.php");

此页面也包含 CSS。

当我尝试使用 firebug 检查内容时出现问题,似乎多次应用了相同的 css 规则。

这是我的代码错误还是使用 jquery 时“预期”出现的错误?

我可以只加载部分代码吗?

【问题讨论】:

    标签: jquery html css firebug


    【解决方案1】:

    它应该像那样工作。基本上.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

    【讨论】:

      【解决方案2】:

      是的,如果您加载了一个带有 CSS 样式的 HTML 页面,那么这些样式也将包含在您当前的页面中。

      我建议您使用外部 css 文件,而不是像您目前正在做的嵌入样式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-16
        • 1970-01-01
        • 2014-09-06
        • 1970-01-01
        • 2017-03-31
        相关资源
        最近更新 更多