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

Update multiple areas with jQuery.load()

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

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

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

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

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

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

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

需要注意的一件重要事情是 jQuery 将删除 <html><body><header> 等元素,因此如果该元素是以下元素之一的直接后代那些,你可以使用 .filter 来找到它。