如何使用jQueryLoad在一次go中检索两组数据

如何使用jQueryLoad在一次go中检索两组数据,jquery,Jquery,我使用jQueryLoad方法从外部页面检索HTML片段。然后我立即再次调用该页面以检索不同的片段。这是可行的,但似乎是浪费 有人能提出更好的办法吗 $('#basket').load('loadCart.php #cartContents', function() { $("#basket").slideDown("slow"); }); $('#cartBar p').load('loadCart.php #cartHeading'); 您能否不使用选择器中的、运算符来选择多

我使用jQueryLoad方法从外部页面检索HTML片段。然后我立即再次调用该页面以检索不同的片段。这是可行的,但似乎是浪费

有人能提出更好的办法吗

$('#basket').load('loadCart.php #cartContents', function() {
  $("#basket").slideDown("slow");

}); 

  $('#cartBar p').load('loadCart.php #cartHeading');

您能否不使用选择器中的、运算符来选择多个元素

$('#basket').load('loadCart.php #cartContents,#cartHeading', function() {
  $("#basket").slideDown("slow");   
});

我解决这个问题的方法是使用$.ajax方法,包括检索整个html响应。我使用$r解析html,以便jquery可以使用它通常的选择器函数。我将所需的部分存储在变量中,并将它们放入相应的容器元素中

$.ajax({
    type:'post',
    url:'yourFile.php',
    success: function(r){
      var element1 = $(r).find('#element1').html();//get the contents of #element1
      var element2 = $(r).find('#element2').html();//get the contents of #element2

      $('#container1').html(element1);//put html in container1
      $('#container2').html(element2);//put html in container2
    }
});
希望这对你有帮助,伙计


W.

请注意,您可以使用.replaceWith方法,而不是将DOM折叠为HTML,然后再次重建它。以整个元素而不是容器为目标,或者只替换整个容器。例如$'container1'。替换为$r.find'container1';最好不要在一行程序中这样做,您应该首先检查它是否存在。这样做的另一个好处是,在将其添加到DOM之前,您可以对其进行修改并从中检索信息。我试着警告element1和element2的值,它们显示为NULL。警告r的值将显示我所期望的有效HTML。有什么想法吗?