2011-01-28 68 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");