2011-01-28 86 views
0

下面的jQuery代碼的工作原理是,單擊某個鏈接(類地址)時,它會滑下一個框,並在#msg div中打印details.php文件中的所有文本。但是,我想只顯示一個div(#地址),存在於details.php中。如何才能做到這一點?謝謝。僅顯示jQuery的特定div

$(document).ready(function() { 
     $('a.address').click(function() { 
      $('#box).slideDown("slow");    
      $.ajax({ 
      type: "POST", 
       url: "details.php", 
       success: function(html){ 
       $("#msg").html(html); 
       } 
      }); 

     }); 
    }); 

回答

1

創建一個jQuery對象出返回的數據和應用選擇它:

$(document).ready(function() { 
     $('a.address').click(function() { 
      $('#box').slideDown("slow");    
      $.ajax({ 
      type: "POST", 
       url: "details.php", 
       success: function(html){ 
       $("#msg").html($(html).find('#address').html()); 
       } 
      }); 

     }); 
    }); 

此外,請注意,這可能會是一個很好的候選使用.one('click', function() {}),因爲你可能不每次點擊時都要加載地址,而不是第一次。

+0

感謝您的答案,也關於.one的建議。不過,我遇到問題,代碼似乎不起作用。 details.php文件非常簡單,只包含幾個div和div內的文本。我發佈的代碼工作正常,但是何時使用您的代碼(成功修改後的代碼行),它不起作用。任何線索? – user966582 2011-01-28 15:59:51

+0

@ user547969,進入firebug或chrome dev工具中的函數,看看$(html).find('#address')正在返回。也許返回的HTML不完全是你認爲的。 – tster 2011-01-28 16:03:50

0

如果有幫助,您已經錯過了第三條線上的近似報價。

$('#box').slideDown("slow");