什么';这个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');
});