我假设您想使用最新内容更新元素。
假设您现在打开一个网页,编辑某个元素,然后在新选项卡中打开已编辑的元素,并且您希望第一个选项卡中的元素获取新选项卡的最新内容。
我做了这个非常简单的函数,不需要 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。
- 它将页面加载到一个人工容器中,并通过路径找到所需的元素,获取其内容并更新真实的元素。