使用jQuery.load()更新多个区域

时间:2015-09-21 13:12:57

标签: jquery jquery-load

jQuery允许您更新页面的单个部分(如果它具有ID:

$('#myDiv').load('http://my/url/#myDiv');

我需要更新页面的几个部分(围绕表单)。我意识到我可以:

  • 每个我想要更新的区域调用一次加载,但这是非常低效的。
  • 重新构建我的工作方式,将原始表单.load(...)分离整个页面并重新附加我的旧表单......但这有一种习惯于搞乱焦点状态。

我想我之后的内容是下载页面(作为jQuery对象)然后交叉更新特定部分的好方法。我假设现有.load()代码的工作原理。但是我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

一种解决方案是使用$.get

$.get('http://my/url/', function(response) {
    var $page = $(response);

    $("#myDiv1").replaceWith($page.find("#myDiv1"));
    $("#myDiv2").replaceWith($page.find("#myDiv2"));
});

需要注意的一件重要事情是,jQuery会删除<html><body><header>等元素,因此如果该元素是其中之一的直接后代,则可以使用{ {1}}找到它。

相关问题