什么';这个jQuery代码有什么问题?

什么';这个jQuery代码有什么问题?,jquery,Jquery,我下面的代码运行良好 $(document).ready(function() { $('a.address').click(function() { $('#box').slideDown("slow"); $.ajax({ type: "POST", url: "details.php", success: function(html){

我下面的代码运行良好

$(document).ready(function() {
        $('a.address').click(function() {
            $('#box').slideDown("slow");

            $.ajax({
            type: "POST",
              url: "details.php",
              success: function(html){              
                 $("#msg").html(html);
                } 
            });

        });
    });
但是,以下内容没有更改(在success中仅更改了1行:),它不加载任何内容。。只向下滑动#框和#msg,但不加载#地址

$(文档).ready(函数(){
$('a.address')。单击(函数(){
$(“#框”)。向下滑动(“慢速”);
$.ajax({
类型:“POST”,
url:“details.php”,
成功:函数(html){
$(“#msg”).html($(html).find('#address').html());
} 
});
});
});
details.php是:
一些文本。
地址
当您编写
$(html)
时,您正在创建一个包含两个
元素的jQuery对象

在此对象上调用
.find(…)
,搜索
元素的后代。
因为两个元素都没有子元素,所以我永远也找不到任何东西

相反,您可以调用
.filter()
,它搜索集合中的元素(但不搜索其后代)

或者,您可以将返回的HTML包装在新的
标记中,然后调用
.find()
。因为您的元素将是包装的子元素,所以它们将由
.find()

.filter()
不同的是,如果服务器更改为返回您小时候要查找的
,此方法仍然有效。

jQuerys
.load()
方法允许您加载和插入页面片段

$('a.address').click(function() {
    $('#box').slideDown("slow"); 

    $('#msg').load('details.php #address');
});
这可能就是你在这里想要实现的

$('a.address').click(function() {
    $('#box').slideDown("slow"); 

    $('#msg').load('details.php #address');
});