在AJAX调用后用jquery刷新DOM
我正在开发一个新项目http://www.hotwirerevealed.com,该项目可以在hotwire.com上显示/识别酒店。输入状态和目的地后,我有了一个使用jquery的.post方法发布的javascript函数。发布请求转到输出html的php页面,我使用jquery的html方法将内容放置在页面上。
像这样
function post(){ $.post("lookup.php", {action: "find", area: area, stars: stars, amenities: amenities, state: $('#state').val()}, function(data){
$("#details").html(data);
});
}
我有超链接,指向要在灯箱中使用的酒店
<a class="hotel" href="http://google.com/search?btnI=1&q=Amerisuites+Northeast+Orlando+(Airport+MCO)">Amerisuites Northeast</a>
我试图使用jQuery的花哨的盒子,但花哨的盒子
$(document).ready(function(){ $(".hotel").fancybox({
'width' : '75%',
'height' : '75%',
'type' : 'iframe'
});
});
但它似乎不起作用,我猜是因为jquery不知道那里的元素?我尝试使用jquery live()方法收效甚微,不胜感激,谢谢
回答:
只是要清楚一点,$(“#details”)。html(data)加载“ a”标签对吗?
上一次我检查时,fancybox()要求该元素已经在DOM上存在。当$(document).ready触发时,$(“。hotel”)可能还不存在。您可以在$
.post之后移动fancybox设置,例如:
function post(){ $.post("lookup.php",
{action: "find", area: area, stars: stars, amenities: amenities, state:
$('#state').val()},
function(data) {
$("#details").html(data);
// bind fancy box
$(".hotel").fancybox({
'width' : '75%',
'height' : '75%',
'type' : 'iframe'
});
});
}
您可能需要提防将fancybox调用到已经用fancybox调用的元素。那里可能会有一些并发症。
以上是 在AJAX调用后用jquery刷新DOM 的全部内容, 来源链接: utcz.com/qa/413844.html