首页 > 解决方案 > 如何使用 jquery GET 一次获取页面内容但将其拆分并插入到不同的 div 中?

问题描述

你好,

有一个外部网页,其内容分为 2 个 div。一个是 IDed #mgs,另一个是 #users。我想加载每个 DIV 的内容并将它们插入到我页面上的不同 DIVS 中。我这样做了:

$("#cont1").load("page.php #mgs");
$("#cont2").load("page.php #users");

这可行,但由于外部页面也在我的服务器上,我认为它是一种资源浪费,因为它两次加载相同的页面。我怎样才能只加载一次并将内容分成我的 2 个 div?我试过这样的事情:

$.get("page.php", function (data) {
 data = $(data).find('#mgs').html();
 data2 = $(data).find('#users').html();
           
 $("#cont1").empty().append(data);
 $("#cont2").empty().append(data2);
});

但它不会工作。有什么办法吗?

谢谢你。

标签: jqueryget

解决方案


您使用该变量的data次数过多,当您到达第二次时,$(data).find()它不再是整页响应。

还将替换所有现有内容,这html(string)比组合emptyappend

尝试:

$.get("page.php", function(data) {
  const $page = $(data),
    mgs = $page.find('#mgs').html(),
    users = $page.find('#users').html();

  $("#cont1").html(mgs);
  $("#cont2").html(users);
});

推荐阅读