2012-10-25 153 views
-1

我有很多的div加載內容(很多不同的div)

<div id="movies" rel="info.php?m=19923"></div> 
<div id="movies" rel="info.php?m=98127"></div> 
<div id="movies" rel="info.php?m=39423"></div> 
<div id="movies" rel="info.php?m=32942"></div> 
<div id="movies" rel="info.php?m=15454"></div> 
<div id="movies" rel="info.php?m=143436"></div> 

100+的div

我可以以某種方式與jQuery和.load更新每個div來顯示其親屬文件(info.php的?m = XXXXX)info?

我發現這個功能在此http://jasonlau.biz/home/jquery/screw-a-jquery-plugin

,但我不想偷懶的效果。就這樣開始從頂部加載。

+3

你不想這樣做。讓你的頁面使用100多個AJAX請求來填充它的內容是一個非常糟糕的主意**。這不僅會削弱你的服務器,而且還會是一個非常糟糕的用戶體驗。你*真的*需要重新思考你如何把這個頁面放在一起。 – meagar

+0

好的謝謝。我很擔心類似的情況。 – user1363929

+0

我同意@meagar。如果您可以控制頁面的呈現,則應該使用類似於服務器端的東西,或者將info.php腳本的內容內聯到頁面中。 – lastcanal

回答

0

下面是如何使用jQuery來做到這一點的一個例子。它找到名稱爲movies的所有元素,並調用jQuery get函數,該函數執行ajax請求。來自請求的響應可用作回調函數的第一個參數(本例中爲data)。獲得數據後,您可以使用jQuery的html函數將其添加到DOM元素。

$(".movies").each(function(){ 
    // make a reference to the current div 
    var element = $(this); 
    // get the url 
    var url = element.attr('rel'); 
    // make ajax request 
    $.get(url, function(data) { 
     // append the data to the div 
     element.html(data); 
    }); 
}) 

請記住,HTML ID應該是唯一的。在你的例子中,你有多個ID爲movies的div。您可以使用$('#movies')通過ID選擇元素,但它只會返回與ID匹配的第一個元素。如果你有控制權的HTML然後每格應該看起來更像是這樣的:

<div class="movies" rel="info.php?m=19923"></div>

+0

謝謝。完美的作品。 – user1363929