0

我想知道是否可以在不刷新页面或仅加载该 div 的外部包含的情况下使用其内容重新加载某个 div。例如,当我单击按钮时,我希望刷新 div 的内容,而无需重新加载整个页面。

这是我尝试做的一个示例,似乎效果不佳,但至少可以很好地解释我的目标:

$("#content").load("mypage.php".$("#content"));

或者例如:

$("#content").load("mypage.php #content");

该文件已找到并加载,但是在此过程中发生了一些事情。它只是作为空白窗口出现,没有打印我的文本和 div 的内容(在原始文件中)。

4

1 回答 1

0

我假设您想使用最新内容更新元素。

假设您现在打开一个网页,编辑某个元素,然后在新选项卡中打开已编辑的元素,并且您希望第一个选项卡中的元素获取新选项卡的最新内容。

我做了这个非常简单的函数,不需要 jQuery。一探究竟:

function reloadElement(selector, url){
    if(!url) url = location.href;
    var container = document.createElement("div");
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            var r = this.responseText;
            container.innerHTML = r;
            var e = container.querySelector(selector).outerHTML;
            var l = document.querySelector(selector);
                l.outerHTML = e;
        }
    };
    xhttp.open("GET", url, true);
    xhttp.send();
}

以下是它的工作原理:

  • 该函数需要两个参数:一个 CSS 选择器和一个重新加载的可选 url。如果没有传递 url 参数,则使用当前页面的 url。
  • 它将页面加载到一个人工容器中,并通过路径找到所需的元素,获取其内容并更新真实的元素。
于 2017-03-15T14:06:16.427 回答