jquery - $.ajax 完成后加载 css 文件

标签 jquery css

我正在通过 $.ajax 从服务器获取内容。这些内容是html字符串,它们有自己的风格,以下是我的代码:

 <script src="jquery-1.7.1.js" type="text/javascript"></script>
<link href="Default.css" rel="stylesheet" />
<link href="all.css" rel="stylesheet" />
<script type="text/javascript">
    var dataStr = "indexOfStart=" + 0;
    $(document).ready(function () {

        $("#idgetData").click(function () {
            $.ajax({
                type: "post",
                url: "http://localhost:1897/Content/Services/Service1.asmx/GetArticlesDuring",
                dataType: "jsonp",
                data: { indexOfStart: 0, indexOfEnd: 20 },
                jsonp: 'back',
                success: function (result) {
                    var res = decodeURIComponent(result.Result);
                    document.getElementById("content").innerHTML = res;

                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    targetDiv = $("#data");
                    if (errorThrown || textStatus == "error" || textStatus == "parsererror" || textStatus == "notmodified") {
                        targetDiv.replaceWith("请求数据时发生错误!");
                        return;
                    }
                    if (textStatus == "timeout") {
                        targetDiv.replaceWith("请求数据超时!");
                        return;
                    }
                },
                complete: function () {
                    //addStyle("Default.css");
                    //addStyle("all.css");
                    document.write('<link href="Default.css" rel="stylesheet" /><link href="all.css" rel="stylesheet" />');
                }
            });
        });
    });
function addStyle(stylePath) {
        var container = document.getElementsByTagName("head")[0];
        var addStyle = document.createElement("link");
        addStyle.rel = "stylesheet";
        addStyle.type = "text/css";
        addStyle.href = stylePath;
        container.appendChild(addStyle);
    }

问题是内容的样式无法加载和工作, 谁能帮帮我?

最佳答案

您不需要在请求完成后加载样式,因为一旦加载了 css,它也会为新元素应用样式。但如果您愿意,可以将 css 样式表附加到 complete 事件处理程序的头部。

关于jquery - $.ajax 完成后加载 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17574774/

相关文章:

javascript - 2 个 div 彼此相邻

javascript - 电子邮件回复样式覆盖了我的样式

html - 悬停状态下的奇怪重新对齐

javascript - 显示/隐藏带有链接的多个 Div

jquery - 是否可以使用 jQuery 编辑通过 &lt;iframe&gt; 加载的 DOM 元素?

ruby-on-rails - 使用 jquery 在 Rails 中渲染部分内容

javascript - 需要帮助打开和关闭水平滑出面板?

php - JQuery-Tabledit 一次只更新一列(我的代码有什么问题)

html - 如何反向添加边框半径?

javascript - 如何检测 HTML 元素的类何时更改?