2010-11-25 31 views
1

我正在使用JQuery加載方法從外部頁面檢索HTML片段。然後我立即再次調用該頁面以檢索不同的片段。這工作,但似乎是浪費。如何使用JQuery加載在一次檢索中檢索兩組數據

有人可以提出一個更好的方法嗎?

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

}); 

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

回答

0

你不只是在選擇器中使用「,」運算符來選擇多個元素嗎?

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

我解決這個問題的方法使用$ .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.

+0

注意,而不是崩潰的DOM到HTML,然後再重建它,你可以使用`.replaceWith()`方法。定位整個元素而不是容器,或者只更換整個容器。例如。 ``('#container1')。replaceWith($(r).find('#container1'));`(最好不要這樣做,你應該先檢查它是否存在)。另一個優點是,您可以在將其添加到DOM之前對其進行修改並從中檢索信息。 – Orbling 2010-11-25 19:50:25