用另一个DIV重新加载DIV

时间:2013-06-04 15:08:24

标签: javascript jquery

我想知道是否可以在不刷新页面的情况下重新加载某个div及其内容,或者是否只有一个外部包含加载该div。例如,当我点击我的按钮时,我希望刷新我的div的内容,而不重新加载整个页面。

以下是我试图做的一个例子,似乎它不能很好地运作,但至少可以解释我的目标:

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

或者例如:

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

找到并加载文件IS,但是在此过程中会发生一些事情。它只是作为空白窗口而不打印我的文本和div的内容(在原始文件中)。

1 个答案:

答案 0 :(得分: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。
  • 它将页面加载到一个人工容器中,并通过路径查找所需元素,获取其内容并更新真实内容。