簡體   English   中英

用div中的ajax加載項目

[英]Load items with ajax in div's

我目前正在使用以下javascript來加載幾個div中的項目:

<script>
    $.ajax({
        url: 'load.php?type=divA',
        cache: false,     
        success: function(data){
        $('#divA').html(data); 
        }
    });   
    $.ajax({
        url: 'load.php?type=divB',
        cache: false,     
        success: function(data){
        $('#divB').html(data); 
        }
    });  </script>

HTML:

<div id="divA">
<!-- Load divA item here -->
</div>
<div id="divB">
<!-- Load divB item here -->
</div>

我正在尋找(並且認為)有更好的方法來做到這一點。 與此相似:div的1個函數,它自動加載(乘)div中的項:

function loadItem(<DIV ID>) {
 $.ajax({
            url: 'load.php?type=<DIV ID>',
            cache: false,     
            success: function(data){
            $('<DIV ID>').html(data); 
            }
        }); 
};

它可以這樣做:

function loadItem(divId) {
    $.ajax({
        url: 'load.php?type=' + divId,
        cache: false,
        success: function (data) {
            $('#' + divId).html(data);
        }
    });
};

我認為這更好:

function loadItem(div) {
   $.ajax({
      url: 'load.php?type='+div,
      cache: false,     
      success: function(data){
         $('#'+div).html(data); 
      }
   }); 
};

$(function(){
   $('div[id^="div"]').each(function(){
      loadItem(this.id);
   });
});

這段代碼在做什么:

  1. 創建一個全局函數,將函數放在doc之外。
  2. 在doc ready塊循環中,通過div以div開頭的div並將該id傳遞給函數。
  3. 因此,如果有兩個div,則會有兩個ajax調用。

這是一個遲到的回復:

$('div[class*="div"]').each(function(){ // class contains div
   loadItem(this.className.split(' ')[1]); 
});// split by ' ' space and pass the second index as arrays are 0 based index.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM